'Weak Dependency Graph [60.0]'
------------------------------
Answer:           YES(?,O(n^1))
Input Problem:    innermost runtime-complexity with respect to
  Rules:
    {  active(zeros()) -> mark(cons(0(), zeros()))
     , active(and(tt(), X)) -> mark(X)
     , active(length(nil())) -> mark(0())
     , active(length(cons(N, L))) -> mark(s(length(L)))
     , active(take(0(), IL)) -> mark(nil())
     , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
     , active(cons(X1, X2)) -> cons(active(X1), X2)
     , active(and(X1, X2)) -> and(active(X1), X2)
     , active(length(X)) -> length(active(X))
     , active(s(X)) -> s(active(X))
     , active(take(X1, X2)) -> take(active(X1), X2)
     , active(take(X1, X2)) -> take(X1, active(X2))
     , cons(mark(X1), X2) -> mark(cons(X1, X2))
     , and(mark(X1), X2) -> mark(and(X1, X2))
     , length(mark(X)) -> mark(length(X))
     , s(mark(X)) -> mark(s(X))
     , take(mark(X1), X2) -> mark(take(X1, X2))
     , take(X1, mark(X2)) -> mark(take(X1, X2))
     , proper(zeros()) -> ok(zeros())
     , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
     , proper(0()) -> ok(0())
     , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
     , proper(tt()) -> ok(tt())
     , proper(length(X)) -> length(proper(X))
     , proper(nil()) -> ok(nil())
     , proper(s(X)) -> s(proper(X))
     , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
     , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
     , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
     , length(ok(X)) -> ok(length(X))
     , s(ok(X)) -> ok(s(X))
     , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
     , top(mark(X)) -> top(proper(X))
     , top(ok(X)) -> top(active(X))}

Details:         
  We have computed the following set of weak (innermost) dependency pairs:
   {  active^#(zeros()) -> c_0(cons^#(0(), zeros()))
    , active^#(and(tt(), X)) -> c_1()
    , active^#(length(nil())) -> c_2()
    , active^#(length(cons(N, L))) -> c_3(s^#(length(L)))
    , active^#(take(0(), IL)) -> c_4()
    , active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))
    , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
    , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
    , active^#(length(X)) -> c_8(length^#(active(X)))
    , active^#(s(X)) -> c_9(s^#(active(X)))
    , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))
    , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))
    , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))
    , and^#(mark(X1), X2) -> c_13(and^#(X1, X2))
    , length^#(mark(X)) -> c_14(length^#(X))
    , s^#(mark(X)) -> c_15(s^#(X))
    , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
    , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))
    , proper^#(zeros()) -> c_18()
    , proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))
    , proper^#(0()) -> c_20()
    , proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))
    , proper^#(tt()) -> c_22()
    , proper^#(length(X)) -> c_23(length^#(proper(X)))
    , proper^#(nil()) -> c_24()
    , proper^#(s(X)) -> c_25(s^#(proper(X)))
    , proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))
    , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
    , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))
    , length^#(ok(X)) -> c_29(length^#(X))
    , s^#(ok(X)) -> c_30(s^#(X))
    , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
    , top^#(mark(X)) -> c_32(top^#(proper(X)))
    , top^#(ok(X)) -> c_33(top^#(active(X)))}
  
  The usable rules are:
   {  active(zeros()) -> mark(cons(0(), zeros()))
    , active(and(tt(), X)) -> mark(X)
    , active(length(nil())) -> mark(0())
    , active(length(cons(N, L))) -> mark(s(length(L)))
    , active(take(0(), IL)) -> mark(nil())
    , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
    , active(cons(X1, X2)) -> cons(active(X1), X2)
    , active(and(X1, X2)) -> and(active(X1), X2)
    , active(length(X)) -> length(active(X))
    , active(s(X)) -> s(active(X))
    , active(take(X1, X2)) -> take(active(X1), X2)
    , active(take(X1, X2)) -> take(X1, active(X2))
    , length(mark(X)) -> mark(length(X))
    , take(mark(X1), X2) -> mark(take(X1, X2))
    , take(X1, mark(X2)) -> mark(take(X1, X2))
    , proper(zeros()) -> ok(zeros())
    , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
    , proper(0()) -> ok(0())
    , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
    , proper(tt()) -> ok(tt())
    , proper(length(X)) -> length(proper(X))
    , proper(nil()) -> ok(nil())
    , proper(s(X)) -> s(proper(X))
    , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
    , length(ok(X)) -> ok(length(X))
    , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
    , cons(mark(X1), X2) -> mark(cons(X1, X2))
    , and(mark(X1), X2) -> mark(and(X1, X2))
    , s(mark(X)) -> mark(s(X))
    , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
    , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
    , s(ok(X)) -> ok(s(X))}
  
  The estimated dependency graph contains the following edges:
   {active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
     ==> {s^#(ok(X)) -> c_30(s^#(X))}
   {active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
     ==> {s^#(mark(X)) -> c_15(s^#(X))}
   {active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
     ==> {cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
   {active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
     ==> {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
   {active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))}
     ==> {cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
   {active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))}
     ==> {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
   {active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))}
     ==> {and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
   {active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))}
     ==> {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
   {active^#(length(X)) -> c_8(length^#(active(X)))}
     ==> {length^#(ok(X)) -> c_29(length^#(X))}
   {active^#(length(X)) -> c_8(length^#(active(X)))}
     ==> {length^#(mark(X)) -> c_14(length^#(X))}
   {active^#(s(X)) -> c_9(s^#(active(X)))}
     ==> {s^#(ok(X)) -> c_30(s^#(X))}
   {active^#(s(X)) -> c_9(s^#(active(X)))}
     ==> {s^#(mark(X)) -> c_15(s^#(X))}
   {active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
     ==> {take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
   {active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
     ==> {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
   {active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
     ==> {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
   {active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
     ==> {take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
   {active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
     ==> {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
   {active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
     ==> {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
   {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
     ==> {cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
   {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
     ==> {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
   {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
     ==> {and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
   {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
     ==> {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
   {length^#(mark(X)) -> c_14(length^#(X))}
     ==> {length^#(ok(X)) -> c_29(length^#(X))}
   {length^#(mark(X)) -> c_14(length^#(X))}
     ==> {length^#(mark(X)) -> c_14(length^#(X))}
   {s^#(mark(X)) -> c_15(s^#(X))}
     ==> {s^#(ok(X)) -> c_30(s^#(X))}
   {s^#(mark(X)) -> c_15(s^#(X))}
     ==> {s^#(mark(X)) -> c_15(s^#(X))}
   {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
     ==> {take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
   {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
     ==> {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
   {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
     ==> {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
   {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
     ==> {take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
   {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
     ==> {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
   {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
     ==> {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
   {proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))}
     ==> {cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
   {proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))}
     ==> {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
   {proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))}
     ==> {and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
   {proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))}
     ==> {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
   {proper^#(length(X)) -> c_23(length^#(proper(X)))}
     ==> {length^#(ok(X)) -> c_29(length^#(X))}
   {proper^#(length(X)) -> c_23(length^#(proper(X)))}
     ==> {length^#(mark(X)) -> c_14(length^#(X))}
   {proper^#(s(X)) -> c_25(s^#(proper(X)))}
     ==> {s^#(ok(X)) -> c_30(s^#(X))}
   {proper^#(s(X)) -> c_25(s^#(proper(X)))}
     ==> {s^#(mark(X)) -> c_15(s^#(X))}
   {proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))}
     ==> {take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
   {proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))}
     ==> {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
   {proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))}
     ==> {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
   {cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
     ==> {cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
   {cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
     ==> {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
   {and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
     ==> {and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
   {and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
     ==> {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
   {length^#(ok(X)) -> c_29(length^#(X))}
     ==> {length^#(ok(X)) -> c_29(length^#(X))}
   {length^#(ok(X)) -> c_29(length^#(X))}
     ==> {length^#(mark(X)) -> c_14(length^#(X))}
   {s^#(ok(X)) -> c_30(s^#(X))}
     ==> {s^#(ok(X)) -> c_30(s^#(X))}
   {s^#(ok(X)) -> c_30(s^#(X))}
     ==> {s^#(mark(X)) -> c_15(s^#(X))}
   {take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
     ==> {take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
   {take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
     ==> {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
   {take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
     ==> {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
   {top^#(mark(X)) -> c_32(top^#(proper(X)))}
     ==> {top^#(ok(X)) -> c_33(top^#(active(X)))}
   {top^#(mark(X)) -> c_32(top^#(proper(X)))}
     ==> {top^#(mark(X)) -> c_32(top^#(proper(X)))}
   {top^#(ok(X)) -> c_33(top^#(active(X)))}
     ==> {top^#(ok(X)) -> c_33(top^#(active(X)))}
   {top^#(ok(X)) -> c_33(top^#(active(X)))}
     ==> {top^#(mark(X)) -> c_32(top^#(proper(X)))}
  
  We consider the following path(s):
   1) {  top^#(mark(X)) -> c_32(top^#(proper(X)))
       , top^#(ok(X)) -> c_33(top^#(active(X)))}
      
      The usable rules for this path are the following:
      {  active(zeros()) -> mark(cons(0(), zeros()))
       , active(and(tt(), X)) -> mark(X)
       , active(length(nil())) -> mark(0())
       , active(length(cons(N, L))) -> mark(s(length(L)))
       , active(take(0(), IL)) -> mark(nil())
       , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
       , active(cons(X1, X2)) -> cons(active(X1), X2)
       , active(and(X1, X2)) -> and(active(X1), X2)
       , active(length(X)) -> length(active(X))
       , active(s(X)) -> s(active(X))
       , active(take(X1, X2)) -> take(active(X1), X2)
       , active(take(X1, X2)) -> take(X1, active(X2))
       , proper(zeros()) -> ok(zeros())
       , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
       , proper(0()) -> ok(0())
       , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
       , proper(tt()) -> ok(tt())
       , proper(length(X)) -> length(proper(X))
       , proper(nil()) -> ok(nil())
       , proper(s(X)) -> s(proper(X))
       , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
       , length(mark(X)) -> mark(length(X))
       , take(mark(X1), X2) -> mark(take(X1, X2))
       , take(X1, mark(X2)) -> mark(take(X1, X2))
       , length(ok(X)) -> ok(length(X))
       , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
       , cons(mark(X1), X2) -> mark(cons(X1, X2))
       , and(mark(X1), X2) -> mark(and(X1, X2))
       , s(mark(X)) -> mark(s(X))
       , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
       , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
       , s(ok(X)) -> ok(s(X))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  active(zeros()) -> mark(cons(0(), zeros()))
               , active(and(tt(), X)) -> mark(X)
               , active(length(nil())) -> mark(0())
               , active(length(cons(N, L))) -> mark(s(length(L)))
               , active(take(0(), IL)) -> mark(nil())
               , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
               , active(cons(X1, X2)) -> cons(active(X1), X2)
               , active(and(X1, X2)) -> and(active(X1), X2)
               , active(length(X)) -> length(active(X))
               , active(s(X)) -> s(active(X))
               , active(take(X1, X2)) -> take(active(X1), X2)
               , active(take(X1, X2)) -> take(X1, active(X2))
               , proper(zeros()) -> ok(zeros())
               , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
               , proper(0()) -> ok(0())
               , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
               , proper(tt()) -> ok(tt())
               , proper(length(X)) -> length(proper(X))
               , proper(nil()) -> ok(nil())
               , proper(s(X)) -> s(proper(X))
               , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
               , length(mark(X)) -> mark(length(X))
               , take(mark(X1), X2) -> mark(take(X1, X2))
               , take(X1, mark(X2)) -> mark(take(X1, X2))
               , length(ok(X)) -> ok(length(X))
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(mark(X1), X2) -> mark(cons(X1, X2))
               , and(mark(X1), X2) -> mark(and(X1, X2))
               , s(mark(X)) -> mark(s(X))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , s(ok(X)) -> ok(s(X))
               , top^#(mark(X)) -> c_32(top^#(proper(X)))
               , top^#(ok(X)) -> c_33(top^#(active(X)))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , top^#(ok(X)) -> c_33(top^#(active(X)))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , top^#(ok(X)) -> c_33(top^#(active(X)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [3]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [1] x1 + [0]
                  c_32(x1) = [1] x1 + [0]
                  c_33(x1) = [1] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  proper(zeros()) -> ok(zeros())
             , proper(0()) -> ok(0())
             , proper(tt()) -> ok(tt())
             , proper(nil()) -> ok(nil())}
            and weakly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , top^#(ok(X)) -> c_33(top^#(active(X)))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  proper(zeros()) -> ok(zeros())
               , proper(0()) -> ok(0())
               , proper(tt()) -> ok(tt())
               , proper(nil()) -> ok(nil())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [3]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [1] x1 + [5]
                  c_32(x1) = [1] x1 + [1]
                  c_33(x1) = [1] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  active(take(0(), IL)) -> mark(nil())
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
            and weakly orienting the rules
            {  proper(zeros()) -> ok(zeros())
             , proper(0()) -> ok(0())
             , proper(tt()) -> ok(tt())
             , proper(nil()) -> ok(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , top^#(ok(X)) -> c_33(top^#(active(X)))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  active(take(0(), IL)) -> mark(nil())
               , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [6]
                  take(x1, x2) = [1] x1 + [1] x2 + [4]
                  proper(x1) = [1] x1 + [14]
                  ok(x1) = [1] x1 + [10]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [1] x1 + [2]
                  c_32(x1) = [1] x1 + [2]
                  c_33(x1) = [1] x1 + [1]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(length(nil())) -> mark(0())}
            and weakly orienting the rules
            {  active(take(0(), IL)) -> mark(nil())
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , proper(zeros()) -> ok(zeros())
             , proper(0()) -> ok(0())
             , proper(tt()) -> ok(tt())
             , proper(nil()) -> ok(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , top^#(ok(X)) -> c_33(top^#(active(X)))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(length(nil())) -> mark(0())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [8]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [8]
                  proper(x1) = [1] x1 + [8]
                  ok(x1) = [1] x1 + [6]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [1] x1 + [7]
                  c_32(x1) = [1] x1 + [8]
                  c_33(x1) = [1] x1 + [1]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(and(tt(), X)) -> mark(X)}
            and weakly orienting the rules
            {  active(length(nil())) -> mark(0())
             , active(take(0(), IL)) -> mark(nil())
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , proper(zeros()) -> ok(zeros())
             , proper(0()) -> ok(0())
             , proper(tt()) -> ok(tt())
             , proper(nil()) -> ok(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , top^#(ok(X)) -> c_33(top^#(active(X)))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(and(tt(), X)) -> mark(X)}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [2]
                  and(x1, x2) = [1] x1 + [1] x2 + [8]
                  tt() = [8]
                  length(x1) = [1] x1 + [0]
                  nil() = [2]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [1] x1 + [0]
                  c_32(x1) = [1] x1 + [0]
                  c_33(x1) = [1] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(zeros()) -> mark(cons(0(), zeros()))}
            and weakly orienting the rules
            {  active(and(tt(), X)) -> mark(X)
             , active(length(nil())) -> mark(0())
             , active(take(0(), IL)) -> mark(nil())
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , proper(zeros()) -> ok(zeros())
             , proper(0()) -> ok(0())
             , proper(tt()) -> ok(tt())
             , proper(nil()) -> ok(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , top^#(ok(X)) -> c_33(top^#(active(X)))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(zeros()) -> mark(cons(0(), zeros()))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [1]
                  nil() = [1]
                  s(x1) = [1] x1 + [1]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [8]
                  ok(x1) = [1] x1 + [8]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [1] x1 + [8]
                  c_32(x1) = [1] x1 + [9]
                  c_33(x1) = [1] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(length(cons(N, L))) -> mark(s(length(L)))}
            and weakly orienting the rules
            {  active(zeros()) -> mark(cons(0(), zeros()))
             , active(and(tt(), X)) -> mark(X)
             , active(length(nil())) -> mark(0())
             , active(take(0(), IL)) -> mark(nil())
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , proper(zeros()) -> ok(zeros())
             , proper(0()) -> ok(0())
             , proper(tt()) -> ok(tt())
             , proper(nil()) -> ok(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , top^#(ok(X)) -> c_33(top^#(active(X)))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(length(cons(N, L))) -> mark(s(length(L)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [12]
                  zeros() = [5]
                  mark(x1) = [1] x1 + [4]
                  cons(x1, x2) = [1] x1 + [1] x2 + [8]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [4]
                  tt() = [1]
                  length(x1) = [1] x1 + [12]
                  nil() = [5]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [14]
                  ok(x1) = [1] x1 + [12]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [1] x1 + [0]
                  c_32(x1) = [1] x1 + [1]
                  c_33(x1) = [1] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  active(cons(X1, X2)) -> cons(active(X1), X2)
                 , active(and(X1, X2)) -> and(active(X1), X2)
                 , active(length(X)) -> length(active(X))
                 , active(s(X)) -> s(active(X))
                 , active(take(X1, X2)) -> take(active(X1), X2)
                 , active(take(X1, X2)) -> take(X1, active(X2))
                 , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
                 , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
                 , proper(length(X)) -> length(proper(X))
                 , proper(s(X)) -> s(proper(X))
                 , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
                 , length(mark(X)) -> mark(length(X))
                 , take(mark(X1), X2) -> mark(take(X1, X2))
                 , take(X1, mark(X2)) -> mark(take(X1, X2))
                 , length(ok(X)) -> ok(length(X))
                 , cons(mark(X1), X2) -> mark(cons(X1, X2))
                 , and(mark(X1), X2) -> mark(and(X1, X2))
                 , s(mark(X)) -> mark(s(X))
                 , s(ok(X)) -> ok(s(X))
                 , top^#(mark(X)) -> c_32(top^#(proper(X)))}
              Weak Rules:
                {  active(length(cons(N, L))) -> mark(s(length(L)))
                 , active(zeros()) -> mark(cons(0(), zeros()))
                 , active(and(tt(), X)) -> mark(X)
                 , active(length(nil())) -> mark(0())
                 , active(take(0(), IL)) -> mark(nil())
                 , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                 , proper(zeros()) -> ok(zeros())
                 , proper(0()) -> ok(0())
                 , proper(tt()) -> ok(tt())
                 , proper(nil()) -> ok(nil())
                 , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                 , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                 , top^#(ok(X)) -> c_33(top^#(active(X)))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  active(cons(X1, X2)) -> cons(active(X1), X2)
                   , active(and(X1, X2)) -> and(active(X1), X2)
                   , active(length(X)) -> length(active(X))
                   , active(s(X)) -> s(active(X))
                   , active(take(X1, X2)) -> take(active(X1), X2)
                   , active(take(X1, X2)) -> take(X1, active(X2))
                   , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
                   , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
                   , proper(length(X)) -> length(proper(X))
                   , proper(s(X)) -> s(proper(X))
                   , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
                   , length(mark(X)) -> mark(length(X))
                   , take(mark(X1), X2) -> mark(take(X1, X2))
                   , take(X1, mark(X2)) -> mark(take(X1, X2))
                   , length(ok(X)) -> ok(length(X))
                   , cons(mark(X1), X2) -> mark(cons(X1, X2))
                   , and(mark(X1), X2) -> mark(and(X1, X2))
                   , s(mark(X)) -> mark(s(X))
                   , s(ok(X)) -> ok(s(X))
                   , top^#(mark(X)) -> c_32(top^#(proper(X)))}
                Weak Rules:
                  {  active(length(cons(N, L))) -> mark(s(length(L)))
                   , active(zeros()) -> mark(cons(0(), zeros()))
                   , active(and(tt(), X)) -> mark(X)
                   , active(length(nil())) -> mark(0())
                   , active(take(0(), IL)) -> mark(nil())
                   , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                   , proper(zeros()) -> ok(zeros())
                   , proper(0()) -> ok(0())
                   , proper(tt()) -> ok(tt())
                   , proper(nil()) -> ok(nil())
                   , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                   , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                   , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                   , top^#(ok(X)) -> c_33(top^#(active(X)))}
              
              Details:         
                The problem is Match-bounded by 4.
                The enriched problem is compatible with the following automaton:
                {  active_0(2) -> 4
                 , active_1(2) -> 11
                 , active_1(8) -> 13
                 , active_1(9) -> 13
                 , active_2(8) -> 24
                 , active_2(9) -> 24
                 , active_2(20) -> 26
                 , active_3(20) -> 29
                 , active_3(21) -> 27
                 , active_3(36) -> 29
                 , active_4(35) -> 37
                 , active_4(36) -> 39
                 , zeros_0() -> 2
                 , zeros_1() -> 9
                 , zeros_2() -> 22
                 , zeros_3() -> 34
                 , mark_0(2) -> 2
                 , mark_1(7) -> 4
                 , mark_1(7) -> 11
                 , mark_1(7) -> 13
                 , mark_2(20) -> 13
                 , mark_2(20) -> 24
                 , cons_1(8, 9) -> 7
                 , cons_2(16, 17) -> 15
                 , cons_2(16, 17) -> 19
                 , cons_2(21, 22) -> 20
                 , cons_3(27, 22) -> 26
                 , cons_3(27, 22) -> 29
                 , cons_3(30, 31) -> 19
                 , cons_3(30, 31) -> 33
                 , cons_3(35, 34) -> 36
                 , cons_4(37, 34) -> 29
                 , cons_4(37, 34) -> 39
                 , 0_0() -> 2
                 , 0_1() -> 8
                 , 0_2() -> 21
                 , 0_3() -> 35
                 , tt_0() -> 2
                 , tt_1() -> 8
                 , tt_2() -> 21
                 , tt_3() -> 35
                 , nil_0() -> 2
                 , nil_1() -> 8
                 , nil_2() -> 21
                 , nil_3() -> 35
                 , proper_1(2) -> 6
                 , proper_1(7) -> 15
                 , proper_2(7) -> 19
                 , proper_2(8) -> 16
                 , proper_2(9) -> 17
                 , proper_2(20) -> 19
                 , proper_3(20) -> 33
                 , proper_3(21) -> 30
                 , proper_3(22) -> 31
                 , ok_0(2) -> 2
                 , ok_1(8) -> 6
                 , ok_1(9) -> 6
                 , ok_2(20) -> 15
                 , ok_2(20) -> 19
                 , ok_2(21) -> 16
                 , ok_2(22) -> 17
                 , ok_3(34) -> 31
                 , ok_3(35) -> 30
                 , ok_3(36) -> 19
                 , ok_3(36) -> 33
                 , top^#_0(2) -> 1
                 , top^#_0(4) -> 3
                 , top^#_1(6) -> 5
                 , top^#_1(11) -> 10
                 , top^#_1(13) -> 12
                 , top^#_1(15) -> 14
                 , top^#_2(19) -> 18
                 , top^#_2(24) -> 23
                 , top^#_2(26) -> 25
                 , top^#_3(29) -> 28
                 , top^#_3(33) -> 32
                 , top^#_4(39) -> 38
                 , c_32_1(5) -> 1
                 , c_32_1(14) -> 3
                 , c_32_2(18) -> 10
                 , c_32_2(18) -> 12
                 , c_32_3(32) -> 23
                 , c_33_0(3) -> 1
                 , c_33_1(10) -> 1
                 , c_33_1(12) -> 5
                 , c_33_2(23) -> 5
                 , c_33_2(25) -> 14
                 , c_33_3(28) -> 18
                 , c_33_4(38) -> 32}
      
   2) {  active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))
       , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
       , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))
       , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
      
      The usable rules for this path are the following:
      {  active(zeros()) -> mark(cons(0(), zeros()))
       , active(and(tt(), X)) -> mark(X)
       , active(length(nil())) -> mark(0())
       , active(length(cons(N, L))) -> mark(s(length(L)))
       , active(take(0(), IL)) -> mark(nil())
       , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
       , active(cons(X1, X2)) -> cons(active(X1), X2)
       , active(and(X1, X2)) -> and(active(X1), X2)
       , active(length(X)) -> length(active(X))
       , active(s(X)) -> s(active(X))
       , active(take(X1, X2)) -> take(active(X1), X2)
       , active(take(X1, X2)) -> take(X1, active(X2))
       , length(mark(X)) -> mark(length(X))
       , take(mark(X1), X2) -> mark(take(X1, X2))
       , take(X1, mark(X2)) -> mark(take(X1, X2))
       , length(ok(X)) -> ok(length(X))
       , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
       , cons(mark(X1), X2) -> mark(cons(X1, X2))
       , and(mark(X1), X2) -> mark(and(X1, X2))
       , s(mark(X)) -> mark(s(X))
       , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
       , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
       , s(ok(X)) -> ok(s(X))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  active(zeros()) -> mark(cons(0(), zeros()))
               , active(and(tt(), X)) -> mark(X)
               , active(length(nil())) -> mark(0())
               , active(length(cons(N, L))) -> mark(s(length(L)))
               , active(take(0(), IL)) -> mark(nil())
               , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
               , active(cons(X1, X2)) -> cons(active(X1), X2)
               , active(and(X1, X2)) -> and(active(X1), X2)
               , active(length(X)) -> length(active(X))
               , active(s(X)) -> s(active(X))
               , active(take(X1, X2)) -> take(active(X1), X2)
               , active(take(X1, X2)) -> take(X1, active(X2))
               , length(mark(X)) -> mark(length(X))
               , take(mark(X1), X2) -> mark(take(X1, X2))
               , take(X1, mark(X2)) -> mark(take(X1, X2))
               , length(ok(X)) -> ok(length(X))
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(mark(X1), X2) -> mark(cons(X1, X2))
               , and(mark(X1), X2) -> mark(and(X1, X2))
               , s(mark(X)) -> mark(s(X))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , s(ok(X)) -> ok(s(X))
               , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))
               , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
               , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))
               , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [1] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [1] x1 + [9]
                  c_17(x1) = [1] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [1] x1 + [1]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
            and weakly orienting the rules
            {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [5]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [1] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [1] x1 + [1]
                  c_17(x1) = [1] x1 + [1]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [1] x1 + [1]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
            and weakly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
             , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [2]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [1] x1 + [1]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [11]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [1] x1 + [0]
                  c_17(x1) = [1] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [1] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
            and weakly orienting the rules
            {  take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
             , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [9]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [1] x1 + [7]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [1] x1 + [1]
                  c_17(x1) = [1] x1 + [1]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [1] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(take(0(), IL)) -> mark(nil())}
            and weakly orienting the rules
            {  active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))
             , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
             , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(take(0(), IL)) -> mark(nil())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [7]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [8]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [1] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [1] x1 + [1]
                  c_17(x1) = [1] x1 + [1]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [1] x1 + [1]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
            and weakly orienting the rules
            {  active(take(0(), IL)) -> mark(nil())
             , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))
             , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
             , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [4]
                  take(x1, x2) = [1] x1 + [1] x2 + [4]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [13]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [1] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [2]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [1] x1 + [1]
                  c_17(x1) = [1] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [1] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(length(nil())) -> mark(0())}
            and weakly orienting the rules
            {  active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(take(0(), IL)) -> mark(nil())
             , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))
             , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
             , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(length(nil())) -> mark(0())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [2]
                  nil() = [0]
                  s(x1) = [1] x1 + [2]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [6]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [9]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [1] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [2]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [1] x1 + [1]
                  c_17(x1) = [1] x1 + [1]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [1] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  active(and(tt(), X)) -> mark(X)
             , active(length(cons(N, L))) -> mark(s(length(L)))}
            and weakly orienting the rules
            {  active(length(nil())) -> mark(0())
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(take(0(), IL)) -> mark(nil())
             , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))
             , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
             , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  active(and(tt(), X)) -> mark(X)
               , active(length(cons(N, L))) -> mark(s(length(L)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [0]
                  zeros() = [1]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [14]
                  0() = [3]
                  and(x1, x2) = [1] x1 + [1] x2 + [1]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [3]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [1] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [1] x1 + [0]
                  c_17(x1) = [1] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [1] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(zeros()) -> mark(cons(0(), zeros()))}
            and weakly orienting the rules
            {  active(and(tt(), X)) -> mark(X)
             , active(length(cons(N, L))) -> mark(s(length(L)))
             , active(length(nil())) -> mark(0())
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(take(0(), IL)) -> mark(nil())
             , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))
             , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
             , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(zeros()) -> mark(cons(0(), zeros()))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [8]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [13]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [1] x1 + [1]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [1] x1 + [0]
                  c_17(x1) = [1] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [1] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  active(cons(X1, X2)) -> cons(active(X1), X2)
                 , active(and(X1, X2)) -> and(active(X1), X2)
                 , active(length(X)) -> length(active(X))
                 , active(s(X)) -> s(active(X))
                 , active(take(X1, X2)) -> take(active(X1), X2)
                 , active(take(X1, X2)) -> take(X1, active(X2))
                 , length(mark(X)) -> mark(length(X))
                 , take(mark(X1), X2) -> mark(take(X1, X2))
                 , take(X1, mark(X2)) -> mark(take(X1, X2))
                 , length(ok(X)) -> ok(length(X))
                 , cons(mark(X1), X2) -> mark(cons(X1, X2))
                 , and(mark(X1), X2) -> mark(and(X1, X2))
                 , s(mark(X)) -> mark(s(X))
                 , s(ok(X)) -> ok(s(X))}
              Weak Rules:
                {  active(zeros()) -> mark(cons(0(), zeros()))
                 , active(and(tt(), X)) -> mark(X)
                 , active(length(cons(N, L))) -> mark(s(length(L)))
                 , active(length(nil())) -> mark(0())
                 , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                 , active(take(0(), IL)) -> mark(nil())
                 , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))
                 , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
                 , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                 , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                 , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
                 , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  active(cons(X1, X2)) -> cons(active(X1), X2)
                   , active(and(X1, X2)) -> and(active(X1), X2)
                   , active(length(X)) -> length(active(X))
                   , active(s(X)) -> s(active(X))
                   , active(take(X1, X2)) -> take(active(X1), X2)
                   , active(take(X1, X2)) -> take(X1, active(X2))
                   , length(mark(X)) -> mark(length(X))
                   , take(mark(X1), X2) -> mark(take(X1, X2))
                   , take(X1, mark(X2)) -> mark(take(X1, X2))
                   , length(ok(X)) -> ok(length(X))
                   , cons(mark(X1), X2) -> mark(cons(X1, X2))
                   , and(mark(X1), X2) -> mark(and(X1, X2))
                   , s(mark(X)) -> mark(s(X))
                   , s(ok(X)) -> ok(s(X))}
                Weak Rules:
                  {  active(zeros()) -> mark(cons(0(), zeros()))
                   , active(and(tt(), X)) -> mark(X)
                   , active(length(cons(N, L))) -> mark(s(length(L)))
                   , active(length(nil())) -> mark(0())
                   , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                   , active(take(0(), IL)) -> mark(nil())
                   , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))
                   , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
                   , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                   , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                   , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                   , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
                   , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  zeros_0() -> 2
                 , mark_0(2) -> 2
                 , 0_0() -> 2
                 , tt_0() -> 2
                 , nil_0() -> 2
                 , ok_0(2) -> 2
                 , active^#_0(2) -> 1
                 , take^#_0(2, 2) -> 1
                 , c_16_0(1) -> 1
                 , c_17_0(1) -> 1
                 , c_31_0(1) -> 1}
      
   3) {  active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))
       , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
       , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))
       , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
      
      The usable rules for this path are the following:
      {  active(zeros()) -> mark(cons(0(), zeros()))
       , active(and(tt(), X)) -> mark(X)
       , active(length(nil())) -> mark(0())
       , active(length(cons(N, L))) -> mark(s(length(L)))
       , active(take(0(), IL)) -> mark(nil())
       , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
       , active(cons(X1, X2)) -> cons(active(X1), X2)
       , active(and(X1, X2)) -> and(active(X1), X2)
       , active(length(X)) -> length(active(X))
       , active(s(X)) -> s(active(X))
       , active(take(X1, X2)) -> take(active(X1), X2)
       , active(take(X1, X2)) -> take(X1, active(X2))
       , length(mark(X)) -> mark(length(X))
       , take(mark(X1), X2) -> mark(take(X1, X2))
       , take(X1, mark(X2)) -> mark(take(X1, X2))
       , length(ok(X)) -> ok(length(X))
       , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
       , cons(mark(X1), X2) -> mark(cons(X1, X2))
       , and(mark(X1), X2) -> mark(and(X1, X2))
       , s(mark(X)) -> mark(s(X))
       , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
       , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
       , s(ok(X)) -> ok(s(X))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  active(zeros()) -> mark(cons(0(), zeros()))
               , active(and(tt(), X)) -> mark(X)
               , active(length(nil())) -> mark(0())
               , active(length(cons(N, L))) -> mark(s(length(L)))
               , active(take(0(), IL)) -> mark(nil())
               , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
               , active(cons(X1, X2)) -> cons(active(X1), X2)
               , active(and(X1, X2)) -> and(active(X1), X2)
               , active(length(X)) -> length(active(X))
               , active(s(X)) -> s(active(X))
               , active(take(X1, X2)) -> take(active(X1), X2)
               , active(take(X1, X2)) -> take(X1, active(X2))
               , length(mark(X)) -> mark(length(X))
               , take(mark(X1), X2) -> mark(take(X1, X2))
               , take(X1, mark(X2)) -> mark(take(X1, X2))
               , length(ok(X)) -> ok(length(X))
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(mark(X1), X2) -> mark(cons(X1, X2))
               , and(mark(X1), X2) -> mark(and(X1, X2))
               , s(mark(X)) -> mark(s(X))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , s(ok(X)) -> ok(s(X))
               , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))
               , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
               , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))
               , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_11(x1) = [1] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [1] x1 + [9]
                  c_17(x1) = [1] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [1] x1 + [1]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
            and weakly orienting the rules
            {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [5]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_11(x1) = [1] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [1] x1 + [1]
                  c_17(x1) = [1] x1 + [1]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [1] x1 + [1]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
            and weakly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
             , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [2]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [11]
                  c_11(x1) = [1] x1 + [1]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [1] x1 + [0]
                  c_17(x1) = [1] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [1] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
            and weakly orienting the rules
            {  take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
             , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [9]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_11(x1) = [1] x1 + [7]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [1] x1 + [1]
                  c_17(x1) = [1] x1 + [1]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [1] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(take(0(), IL)) -> mark(nil())}
            and weakly orienting the rules
            {  active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))
             , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
             , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(take(0(), IL)) -> mark(nil())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [7]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [8]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_11(x1) = [1] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [1] x1 + [1]
                  c_17(x1) = [1] x1 + [1]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [1] x1 + [1]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
            and weakly orienting the rules
            {  active(take(0(), IL)) -> mark(nil())
             , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))
             , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
             , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [4]
                  take(x1, x2) = [1] x1 + [1] x2 + [4]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [13]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [2]
                  c_11(x1) = [1] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [1] x1 + [1]
                  c_17(x1) = [1] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [1] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(length(nil())) -> mark(0())}
            and weakly orienting the rules
            {  active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(take(0(), IL)) -> mark(nil())
             , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))
             , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
             , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(length(nil())) -> mark(0())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [2]
                  nil() = [0]
                  s(x1) = [1] x1 + [2]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [6]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [9]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [2]
                  c_11(x1) = [1] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [1] x1 + [1]
                  c_17(x1) = [1] x1 + [1]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [1] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  active(and(tt(), X)) -> mark(X)
             , active(length(cons(N, L))) -> mark(s(length(L)))}
            and weakly orienting the rules
            {  active(length(nil())) -> mark(0())
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(take(0(), IL)) -> mark(nil())
             , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))
             , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
             , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  active(and(tt(), X)) -> mark(X)
               , active(length(cons(N, L))) -> mark(s(length(L)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [0]
                  zeros() = [1]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [14]
                  0() = [3]
                  and(x1, x2) = [1] x1 + [1] x2 + [1]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [3]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_11(x1) = [1] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [1] x1 + [0]
                  c_17(x1) = [1] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [1] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(zeros()) -> mark(cons(0(), zeros()))}
            and weakly orienting the rules
            {  active(and(tt(), X)) -> mark(X)
             , active(length(cons(N, L))) -> mark(s(length(L)))
             , active(length(nil())) -> mark(0())
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(take(0(), IL)) -> mark(nil())
             , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))
             , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
             , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(zeros()) -> mark(cons(0(), zeros()))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [8]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [13]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_11(x1) = [1] x1 + [1]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [1] x1 + [0]
                  c_17(x1) = [1] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [1] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  active(cons(X1, X2)) -> cons(active(X1), X2)
                 , active(and(X1, X2)) -> and(active(X1), X2)
                 , active(length(X)) -> length(active(X))
                 , active(s(X)) -> s(active(X))
                 , active(take(X1, X2)) -> take(active(X1), X2)
                 , active(take(X1, X2)) -> take(X1, active(X2))
                 , length(mark(X)) -> mark(length(X))
                 , take(mark(X1), X2) -> mark(take(X1, X2))
                 , take(X1, mark(X2)) -> mark(take(X1, X2))
                 , length(ok(X)) -> ok(length(X))
                 , cons(mark(X1), X2) -> mark(cons(X1, X2))
                 , and(mark(X1), X2) -> mark(and(X1, X2))
                 , s(mark(X)) -> mark(s(X))
                 , s(ok(X)) -> ok(s(X))}
              Weak Rules:
                {  active(zeros()) -> mark(cons(0(), zeros()))
                 , active(and(tt(), X)) -> mark(X)
                 , active(length(cons(N, L))) -> mark(s(length(L)))
                 , active(length(nil())) -> mark(0())
                 , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                 , active(take(0(), IL)) -> mark(nil())
                 , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))
                 , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
                 , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                 , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                 , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
                 , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  active(cons(X1, X2)) -> cons(active(X1), X2)
                   , active(and(X1, X2)) -> and(active(X1), X2)
                   , active(length(X)) -> length(active(X))
                   , active(s(X)) -> s(active(X))
                   , active(take(X1, X2)) -> take(active(X1), X2)
                   , active(take(X1, X2)) -> take(X1, active(X2))
                   , length(mark(X)) -> mark(length(X))
                   , take(mark(X1), X2) -> mark(take(X1, X2))
                   , take(X1, mark(X2)) -> mark(take(X1, X2))
                   , length(ok(X)) -> ok(length(X))
                   , cons(mark(X1), X2) -> mark(cons(X1, X2))
                   , and(mark(X1), X2) -> mark(and(X1, X2))
                   , s(mark(X)) -> mark(s(X))
                   , s(ok(X)) -> ok(s(X))}
                Weak Rules:
                  {  active(zeros()) -> mark(cons(0(), zeros()))
                   , active(and(tt(), X)) -> mark(X)
                   , active(length(cons(N, L))) -> mark(s(length(L)))
                   , active(length(nil())) -> mark(0())
                   , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                   , active(take(0(), IL)) -> mark(nil())
                   , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))
                   , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
                   , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                   , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                   , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                   , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
                   , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  zeros_0() -> 2
                 , mark_0(2) -> 2
                 , 0_0() -> 2
                 , tt_0() -> 2
                 , nil_0() -> 2
                 , ok_0(2) -> 2
                 , active^#_0(2) -> 1
                 , take^#_0(2, 2) -> 1
                 , c_16_0(1) -> 1
                 , c_17_0(1) -> 1
                 , c_31_0(1) -> 1}
      
   4) {  active^#(length(X)) -> c_8(length^#(active(X)))
       , length^#(ok(X)) -> c_29(length^#(X))
       , length^#(mark(X)) -> c_14(length^#(X))}
      
      The usable rules for this path are the following:
      {  active(zeros()) -> mark(cons(0(), zeros()))
       , active(and(tt(), X)) -> mark(X)
       , active(length(nil())) -> mark(0())
       , active(length(cons(N, L))) -> mark(s(length(L)))
       , active(take(0(), IL)) -> mark(nil())
       , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
       , active(cons(X1, X2)) -> cons(active(X1), X2)
       , active(and(X1, X2)) -> and(active(X1), X2)
       , active(length(X)) -> length(active(X))
       , active(s(X)) -> s(active(X))
       , active(take(X1, X2)) -> take(active(X1), X2)
       , active(take(X1, X2)) -> take(X1, active(X2))
       , length(mark(X)) -> mark(length(X))
       , take(mark(X1), X2) -> mark(take(X1, X2))
       , take(X1, mark(X2)) -> mark(take(X1, X2))
       , length(ok(X)) -> ok(length(X))
       , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
       , cons(mark(X1), X2) -> mark(cons(X1, X2))
       , and(mark(X1), X2) -> mark(and(X1, X2))
       , s(mark(X)) -> mark(s(X))
       , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
       , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
       , s(ok(X)) -> ok(s(X))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  active(zeros()) -> mark(cons(0(), zeros()))
               , active(and(tt(), X)) -> mark(X)
               , active(length(nil())) -> mark(0())
               , active(length(cons(N, L))) -> mark(s(length(L)))
               , active(take(0(), IL)) -> mark(nil())
               , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
               , active(cons(X1, X2)) -> cons(active(X1), X2)
               , active(and(X1, X2)) -> and(active(X1), X2)
               , active(length(X)) -> length(active(X))
               , active(s(X)) -> s(active(X))
               , active(take(X1, X2)) -> take(active(X1), X2)
               , active(take(X1, X2)) -> take(X1, active(X2))
               , length(mark(X)) -> mark(length(X))
               , take(mark(X1), X2) -> mark(take(X1, X2))
               , take(X1, mark(X2)) -> mark(take(X1, X2))
               , length(ok(X)) -> ok(length(X))
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(mark(X1), X2) -> mark(cons(X1, X2))
               , and(mark(X1), X2) -> mark(and(X1, X2))
               , s(mark(X)) -> mark(s(X))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , s(ok(X)) -> ok(s(X))
               , active^#(length(X)) -> c_8(length^#(active(X)))
               , length^#(ok(X)) -> c_29(length^#(X))
               , length^#(mark(X)) -> c_14(length^#(X))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , length^#(ok(X)) -> c_29(length^#(X))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , length^#(ok(X)) -> c_29(length^#(X))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [4]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [1] x1 + [1]
                  length^#(x1) = [1] x1 + [1]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [1] x1 + [8]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [1] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
            and weakly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , length^#(ok(X)) -> c_29(length^#(X))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [4]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [1] x1 + [0]
                  length^#(x1) = [1] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [1] x1 + [1]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [1] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {length^#(mark(X)) -> c_14(length^#(X))}
            and weakly orienting the rules
            {  active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , length^#(ok(X)) -> c_29(length^#(X))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {length^#(mark(X)) -> c_14(length^#(X))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [1] x1 + [0]
                  length^#(x1) = [1] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [1] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [1] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active^#(length(X)) -> c_8(length^#(active(X)))}
            and weakly orienting the rules
            {  length^#(mark(X)) -> c_14(length^#(X))
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , length^#(ok(X)) -> c_29(length^#(X))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active^#(length(X)) -> c_8(length^#(active(X)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [11]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [13]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [1] x1 + [6]
                  length^#(x1) = [1] x1 + [2]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [1] x1 + [1]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [1] x1 + [3]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(length(nil())) -> mark(0())}
            and weakly orienting the rules
            {  active^#(length(X)) -> c_8(length^#(active(X)))
             , length^#(mark(X)) -> c_14(length^#(X))
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , length^#(ok(X)) -> c_29(length^#(X))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(length(nil())) -> mark(0())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [4]
                  s(x1) = [1] x1 + [3]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [9]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [1] x1 + [0]
                  length^#(x1) = [1] x1 + [2]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [1] x1 + [1]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [1] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(take(0(), IL)) -> mark(nil())}
            and weakly orienting the rules
            {  active(length(nil())) -> mark(0())
             , active^#(length(X)) -> c_8(length^#(active(X)))
             , length^#(mark(X)) -> c_14(length^#(X))
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , length^#(ok(X)) -> c_29(length^#(X))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(take(0(), IL)) -> mark(nil())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [3]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [1] x1 + [0]
                  length^#(x1) = [1] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [1] x1 + [1]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [1] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(and(tt(), X)) -> mark(X)}
            and weakly orienting the rules
            {  active(take(0(), IL)) -> mark(nil())
             , active(length(nil())) -> mark(0())
             , active^#(length(X)) -> c_8(length^#(active(X)))
             , length^#(mark(X)) -> c_14(length^#(X))
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , length^#(ok(X)) -> c_29(length^#(X))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(and(tt(), X)) -> mark(X)}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [4]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [2]
                  0() = [13]
                  and(x1, x2) = [1] x1 + [1] x2 + [3]
                  tt() = [2]
                  length(x1) = [1] x1 + [0]
                  nil() = [15]
                  s(x1) = [1] x1 + [8]
                  take(x1, x2) = [1] x1 + [1] x2 + [4]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [8]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [2]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [1] x1 + [0]
                  length^#(x1) = [1] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [1] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [1] x1 + [1]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(length(cons(N, L))) -> mark(s(length(L)))}
            and weakly orienting the rules
            {  active(and(tt(), X)) -> mark(X)
             , active(take(0(), IL)) -> mark(nil())
             , active(length(nil())) -> mark(0())
             , active^#(length(X)) -> c_8(length^#(active(X)))
             , length^#(mark(X)) -> c_14(length^#(X))
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , length^#(ok(X)) -> c_29(length^#(X))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(length(cons(N, L))) -> mark(s(length(L)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [14]
                  0() = [2]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [3]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [4]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [1] x1 + [0]
                  length^#(x1) = [1] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [1] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [1] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(zeros()) -> mark(cons(0(), zeros()))}
            and weakly orienting the rules
            {  active(length(cons(N, L))) -> mark(s(length(L)))
             , active(and(tt(), X)) -> mark(X)
             , active(take(0(), IL)) -> mark(nil())
             , active(length(nil())) -> mark(0())
             , active^#(length(X)) -> c_8(length^#(active(X)))
             , length^#(mark(X)) -> c_14(length^#(X))
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , length^#(ok(X)) -> c_29(length^#(X))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(zeros()) -> mark(cons(0(), zeros()))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [7]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [1]
                  and(x1, x2) = [1] x1 + [1] x2 + [8]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [8]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [1]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [13]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [1] x1 + [2]
                  length^#(x1) = [1] x1 + [1]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [1] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [1] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  active(cons(X1, X2)) -> cons(active(X1), X2)
                 , active(and(X1, X2)) -> and(active(X1), X2)
                 , active(length(X)) -> length(active(X))
                 , active(s(X)) -> s(active(X))
                 , active(take(X1, X2)) -> take(active(X1), X2)
                 , active(take(X1, X2)) -> take(X1, active(X2))
                 , length(mark(X)) -> mark(length(X))
                 , take(mark(X1), X2) -> mark(take(X1, X2))
                 , take(X1, mark(X2)) -> mark(take(X1, X2))
                 , length(ok(X)) -> ok(length(X))
                 , cons(mark(X1), X2) -> mark(cons(X1, X2))
                 , and(mark(X1), X2) -> mark(and(X1, X2))
                 , s(mark(X)) -> mark(s(X))
                 , s(ok(X)) -> ok(s(X))}
              Weak Rules:
                {  active(zeros()) -> mark(cons(0(), zeros()))
                 , active(length(cons(N, L))) -> mark(s(length(L)))
                 , active(and(tt(), X)) -> mark(X)
                 , active(take(0(), IL)) -> mark(nil())
                 , active(length(nil())) -> mark(0())
                 , active^#(length(X)) -> c_8(length^#(active(X)))
                 , length^#(mark(X)) -> c_14(length^#(X))
                 , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                 , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                 , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                 , length^#(ok(X)) -> c_29(length^#(X))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  active(cons(X1, X2)) -> cons(active(X1), X2)
                   , active(and(X1, X2)) -> and(active(X1), X2)
                   , active(length(X)) -> length(active(X))
                   , active(s(X)) -> s(active(X))
                   , active(take(X1, X2)) -> take(active(X1), X2)
                   , active(take(X1, X2)) -> take(X1, active(X2))
                   , length(mark(X)) -> mark(length(X))
                   , take(mark(X1), X2) -> mark(take(X1, X2))
                   , take(X1, mark(X2)) -> mark(take(X1, X2))
                   , length(ok(X)) -> ok(length(X))
                   , cons(mark(X1), X2) -> mark(cons(X1, X2))
                   , and(mark(X1), X2) -> mark(and(X1, X2))
                   , s(mark(X)) -> mark(s(X))
                   , s(ok(X)) -> ok(s(X))}
                Weak Rules:
                  {  active(zeros()) -> mark(cons(0(), zeros()))
                   , active(length(cons(N, L))) -> mark(s(length(L)))
                   , active(and(tt(), X)) -> mark(X)
                   , active(take(0(), IL)) -> mark(nil())
                   , active(length(nil())) -> mark(0())
                   , active^#(length(X)) -> c_8(length^#(active(X)))
                   , length^#(mark(X)) -> c_14(length^#(X))
                   , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                   , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                   , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                   , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                   , length^#(ok(X)) -> c_29(length^#(X))}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  zeros_0() -> 2
                 , mark_0(2) -> 3
                 , mark_0(3) -> 3
                 , mark_0(5) -> 3
                 , mark_0(7) -> 3
                 , mark_0(9) -> 3
                 , mark_0(13) -> 3
                 , 0_0() -> 5
                 , tt_0() -> 7
                 , nil_0() -> 9
                 , ok_0(2) -> 13
                 , ok_0(3) -> 13
                 , ok_0(5) -> 13
                 , ok_0(7) -> 13
                 , ok_0(9) -> 13
                 , ok_0(13) -> 13
                 , active^#_0(2) -> 15
                 , active^#_0(3) -> 15
                 , active^#_0(5) -> 15
                 , active^#_0(7) -> 15
                 , active^#_0(9) -> 15
                 , active^#_0(13) -> 15
                 , length^#_0(2) -> 28
                 , length^#_0(3) -> 28
                 , length^#_0(5) -> 28
                 , length^#_0(7) -> 28
                 , length^#_0(9) -> 28
                 , length^#_0(13) -> 28
                 , c_14_0(28) -> 28
                 , c_29_0(28) -> 28}
      
   5) {  active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
       , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
       , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
      
      The usable rules for this path are the following:
      {  active(zeros()) -> mark(cons(0(), zeros()))
       , active(and(tt(), X)) -> mark(X)
       , active(length(nil())) -> mark(0())
       , active(length(cons(N, L))) -> mark(s(length(L)))
       , active(take(0(), IL)) -> mark(nil())
       , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
       , active(cons(X1, X2)) -> cons(active(X1), X2)
       , active(and(X1, X2)) -> and(active(X1), X2)
       , active(length(X)) -> length(active(X))
       , active(s(X)) -> s(active(X))
       , active(take(X1, X2)) -> take(active(X1), X2)
       , active(take(X1, X2)) -> take(X1, active(X2))
       , length(mark(X)) -> mark(length(X))
       , take(mark(X1), X2) -> mark(take(X1, X2))
       , take(X1, mark(X2)) -> mark(take(X1, X2))
       , length(ok(X)) -> ok(length(X))
       , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
       , cons(mark(X1), X2) -> mark(cons(X1, X2))
       , and(mark(X1), X2) -> mark(and(X1, X2))
       , s(mark(X)) -> mark(s(X))
       , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
       , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
       , s(ok(X)) -> ok(s(X))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  active(zeros()) -> mark(cons(0(), zeros()))
               , active(and(tt(), X)) -> mark(X)
               , active(length(nil())) -> mark(0())
               , active(length(cons(N, L))) -> mark(s(length(L)))
               , active(take(0(), IL)) -> mark(nil())
               , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
               , active(cons(X1, X2)) -> cons(active(X1), X2)
               , active(and(X1, X2)) -> and(active(X1), X2)
               , active(length(X)) -> length(active(X))
               , active(s(X)) -> s(active(X))
               , active(take(X1, X2)) -> take(active(X1), X2)
               , active(take(X1, X2)) -> take(X1, active(X2))
               , length(mark(X)) -> mark(length(X))
               , take(mark(X1), X2) -> mark(take(X1, X2))
               , take(X1, mark(X2)) -> mark(take(X1, X2))
               , length(ok(X)) -> ok(length(X))
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(mark(X1), X2) -> mark(cons(X1, X2))
               , and(mark(X1), X2) -> mark(and(X1, X2))
               , s(mark(X)) -> mark(s(X))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , s(ok(X)) -> ok(s(X))
               , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
               , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
               , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [1] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [1] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [1] x1 + [1]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
            and weakly orienting the rules
            {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [4]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [1] x1 + [10]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [1] x1 + [1]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [1] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))}
            and weakly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
             , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [9]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [3]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [1] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [1] x1 + [1]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [1] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(take(0(), IL)) -> mark(nil())}
            and weakly orienting the rules
            {  active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
             , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(take(0(), IL)) -> mark(nil())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [2]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [1] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [1] x1 + [1]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [1] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(length(nil())) -> mark(0())}
            and weakly orienting the rules
            {  active(take(0(), IL)) -> mark(nil())
             , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
             , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(length(nil())) -> mark(0())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [8]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [8]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [1] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [1] x1 + [1]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [1] x1 + [1]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
            and weakly orienting the rules
            {  active(length(nil())) -> mark(0())
             , active(take(0(), IL)) -> mark(nil())
             , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
             , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [8]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [9]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [1] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [1] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [1] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  active(and(tt(), X)) -> mark(X)
             , active(length(cons(N, L))) -> mark(s(length(L)))}
            and weakly orienting the rules
            {  active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(length(nil())) -> mark(0())
             , active(take(0(), IL)) -> mark(nil())
             , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
             , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  active(and(tt(), X)) -> mark(X)
               , active(length(cons(N, L))) -> mark(s(length(L)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [5]
                  zeros() = [2]
                  mark(x1) = [1] x1 + [4]
                  cons(x1, x2) = [1] x1 + [1] x2 + [2]
                  0() = [5]
                  and(x1, x2) = [1] x1 + [1] x2 + [5]
                  tt() = [12]
                  length(x1) = [1] x1 + [2]
                  nil() = [8]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [4]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [8]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [1] x1 + [1]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [1] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [1] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(zeros()) -> mark(cons(0(), zeros()))}
            and weakly orienting the rules
            {  active(and(tt(), X)) -> mark(X)
             , active(length(cons(N, L))) -> mark(s(length(L)))
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(length(nil())) -> mark(0())
             , active(take(0(), IL)) -> mark(nil())
             , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
             , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(zeros()) -> mark(cons(0(), zeros()))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [4]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [9]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [3]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [9]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [4]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [1] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [1] x1 + [1]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [1] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  active(cons(X1, X2)) -> cons(active(X1), X2)
                 , active(and(X1, X2)) -> and(active(X1), X2)
                 , active(length(X)) -> length(active(X))
                 , active(s(X)) -> s(active(X))
                 , active(take(X1, X2)) -> take(active(X1), X2)
                 , active(take(X1, X2)) -> take(X1, active(X2))
                 , length(mark(X)) -> mark(length(X))
                 , take(mark(X1), X2) -> mark(take(X1, X2))
                 , take(X1, mark(X2)) -> mark(take(X1, X2))
                 , length(ok(X)) -> ok(length(X))
                 , cons(mark(X1), X2) -> mark(cons(X1, X2))
                 , and(mark(X1), X2) -> mark(and(X1, X2))
                 , s(mark(X)) -> mark(s(X))
                 , s(ok(X)) -> ok(s(X))}
              Weak Rules:
                {  active(zeros()) -> mark(cons(0(), zeros()))
                 , active(and(tt(), X)) -> mark(X)
                 , active(length(cons(N, L))) -> mark(s(length(L)))
                 , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                 , active(length(nil())) -> mark(0())
                 , active(take(0(), IL)) -> mark(nil())
                 , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
                 , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                 , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                 , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
                 , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  active(cons(X1, X2)) -> cons(active(X1), X2)
                   , active(and(X1, X2)) -> and(active(X1), X2)
                   , active(length(X)) -> length(active(X))
                   , active(s(X)) -> s(active(X))
                   , active(take(X1, X2)) -> take(active(X1), X2)
                   , active(take(X1, X2)) -> take(X1, active(X2))
                   , length(mark(X)) -> mark(length(X))
                   , take(mark(X1), X2) -> mark(take(X1, X2))
                   , take(X1, mark(X2)) -> mark(take(X1, X2))
                   , length(ok(X)) -> ok(length(X))
                   , cons(mark(X1), X2) -> mark(cons(X1, X2))
                   , and(mark(X1), X2) -> mark(and(X1, X2))
                   , s(mark(X)) -> mark(s(X))
                   , s(ok(X)) -> ok(s(X))}
                Weak Rules:
                  {  active(zeros()) -> mark(cons(0(), zeros()))
                   , active(and(tt(), X)) -> mark(X)
                   , active(length(cons(N, L))) -> mark(s(length(L)))
                   , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                   , active(length(nil())) -> mark(0())
                   , active(take(0(), IL)) -> mark(nil())
                   , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
                   , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                   , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                   , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                   , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
                   , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  zeros_0() -> 2
                 , mark_0(2) -> 2
                 , 0_0() -> 2
                 , tt_0() -> 2
                 , nil_0() -> 2
                 , ok_0(2) -> 2
                 , active^#_0(2) -> 1
                 , cons^#_0(2, 2) -> 1
                 , c_12_0(1) -> 1
                 , c_27_0(1) -> 1}
      
   6) {  active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
       , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))
       , and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
      
      The usable rules for this path are the following:
      {  active(zeros()) -> mark(cons(0(), zeros()))
       , active(and(tt(), X)) -> mark(X)
       , active(length(nil())) -> mark(0())
       , active(length(cons(N, L))) -> mark(s(length(L)))
       , active(take(0(), IL)) -> mark(nil())
       , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
       , active(cons(X1, X2)) -> cons(active(X1), X2)
       , active(and(X1, X2)) -> and(active(X1), X2)
       , active(length(X)) -> length(active(X))
       , active(s(X)) -> s(active(X))
       , active(take(X1, X2)) -> take(active(X1), X2)
       , active(take(X1, X2)) -> take(X1, active(X2))
       , length(mark(X)) -> mark(length(X))
       , take(mark(X1), X2) -> mark(take(X1, X2))
       , take(X1, mark(X2)) -> mark(take(X1, X2))
       , length(ok(X)) -> ok(length(X))
       , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
       , cons(mark(X1), X2) -> mark(cons(X1, X2))
       , and(mark(X1), X2) -> mark(and(X1, X2))
       , s(mark(X)) -> mark(s(X))
       , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
       , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
       , s(ok(X)) -> ok(s(X))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  active(zeros()) -> mark(cons(0(), zeros()))
               , active(and(tt(), X)) -> mark(X)
               , active(length(nil())) -> mark(0())
               , active(length(cons(N, L))) -> mark(s(length(L)))
               , active(take(0(), IL)) -> mark(nil())
               , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
               , active(cons(X1, X2)) -> cons(active(X1), X2)
               , active(and(X1, X2)) -> and(active(X1), X2)
               , active(length(X)) -> length(active(X))
               , active(s(X)) -> s(active(X))
               , active(take(X1, X2)) -> take(active(X1), X2)
               , active(take(X1, X2)) -> take(X1, active(X2))
               , length(mark(X)) -> mark(length(X))
               , take(mark(X1), X2) -> mark(take(X1, X2))
               , take(X1, mark(X2)) -> mark(take(X1, X2))
               , length(ok(X)) -> ok(length(X))
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(mark(X1), X2) -> mark(cons(X1, X2))
               , and(mark(X1), X2) -> mark(and(X1, X2))
               , s(mark(X)) -> mark(s(X))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , s(ok(X)) -> ok(s(X))
               , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
               , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))
               , and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [1] x1 + [0]
                  and^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [1] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [1] x1 + [3]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
            and weakly orienting the rules
            {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [4]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [1] x1 + [10]
                  and^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [1] x1 + [1]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [1] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))}
            and weakly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))
             , and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [9]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [1] x1 + [0]
                  and^#(x1, x2) = [1] x1 + [1] x2 + [3]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [1] x1 + [1]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [1] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(take(0(), IL)) -> mark(nil())}
            and weakly orienting the rules
            {  active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))
             , and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(take(0(), IL)) -> mark(nil())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [2]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [1] x1 + [0]
                  and^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [1] x1 + [1]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [1] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(length(nil())) -> mark(0())}
            and weakly orienting the rules
            {  active(take(0(), IL)) -> mark(nil())
             , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))
             , and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(length(nil())) -> mark(0())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [8]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [8]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [1] x1 + [0]
                  and^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [1] x1 + [1]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [1] x1 + [1]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
            and weakly orienting the rules
            {  active(length(nil())) -> mark(0())
             , active(take(0(), IL)) -> mark(nil())
             , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))
             , and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [8]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [9]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [1] x1 + [0]
                  and^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [1] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [1] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  active(zeros()) -> mark(cons(0(), zeros()))
             , active(and(tt(), X)) -> mark(X)
             , active(length(cons(N, L))) -> mark(s(length(L)))}
            and weakly orienting the rules
            {  active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(length(nil())) -> mark(0())
             , active(take(0(), IL)) -> mark(nil())
             , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))
             , and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  active(zeros()) -> mark(cons(0(), zeros()))
               , active(and(tt(), X)) -> mark(X)
               , active(length(cons(N, L))) -> mark(s(length(L)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [13]
                  zeros() = [10]
                  mark(x1) = [1] x1 + [4]
                  cons(x1, x2) = [1] x1 + [1] x2 + [2]
                  0() = [5]
                  and(x1, x2) = [1] x1 + [1] x2 + [5]
                  tt() = [0]
                  length(x1) = [1] x1 + [2]
                  nil() = [8]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [4]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [8]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [1] x1 + [0]
                  and^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [1] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [1] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  active(cons(X1, X2)) -> cons(active(X1), X2)
                 , active(and(X1, X2)) -> and(active(X1), X2)
                 , active(length(X)) -> length(active(X))
                 , active(s(X)) -> s(active(X))
                 , active(take(X1, X2)) -> take(active(X1), X2)
                 , active(take(X1, X2)) -> take(X1, active(X2))
                 , length(mark(X)) -> mark(length(X))
                 , take(mark(X1), X2) -> mark(take(X1, X2))
                 , take(X1, mark(X2)) -> mark(take(X1, X2))
                 , length(ok(X)) -> ok(length(X))
                 , cons(mark(X1), X2) -> mark(cons(X1, X2))
                 , and(mark(X1), X2) -> mark(and(X1, X2))
                 , s(mark(X)) -> mark(s(X))
                 , s(ok(X)) -> ok(s(X))}
              Weak Rules:
                {  active(zeros()) -> mark(cons(0(), zeros()))
                 , active(and(tt(), X)) -> mark(X)
                 , active(length(cons(N, L))) -> mark(s(length(L)))
                 , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                 , active(length(nil())) -> mark(0())
                 , active(take(0(), IL)) -> mark(nil())
                 , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
                 , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                 , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                 , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))
                 , and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  active(cons(X1, X2)) -> cons(active(X1), X2)
                   , active(and(X1, X2)) -> and(active(X1), X2)
                   , active(length(X)) -> length(active(X))
                   , active(s(X)) -> s(active(X))
                   , active(take(X1, X2)) -> take(active(X1), X2)
                   , active(take(X1, X2)) -> take(X1, active(X2))
                   , length(mark(X)) -> mark(length(X))
                   , take(mark(X1), X2) -> mark(take(X1, X2))
                   , take(X1, mark(X2)) -> mark(take(X1, X2))
                   , length(ok(X)) -> ok(length(X))
                   , cons(mark(X1), X2) -> mark(cons(X1, X2))
                   , and(mark(X1), X2) -> mark(and(X1, X2))
                   , s(mark(X)) -> mark(s(X))
                   , s(ok(X)) -> ok(s(X))}
                Weak Rules:
                  {  active(zeros()) -> mark(cons(0(), zeros()))
                   , active(and(tt(), X)) -> mark(X)
                   , active(length(cons(N, L))) -> mark(s(length(L)))
                   , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                   , active(length(nil())) -> mark(0())
                   , active(take(0(), IL)) -> mark(nil())
                   , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
                   , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                   , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                   , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                   , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))
                   , and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  zeros_0() -> 2
                 , mark_0(2) -> 2
                 , 0_0() -> 2
                 , tt_0() -> 2
                 , nil_0() -> 2
                 , ok_0(2) -> 2
                 , active^#_0(2) -> 1
                 , and^#_0(2, 2) -> 1
                 , c_13_0(1) -> 1
                 , c_28_0(1) -> 1}
      
   7) {  active^#(s(X)) -> c_9(s^#(active(X)))
       , s^#(ok(X)) -> c_30(s^#(X))
       , s^#(mark(X)) -> c_15(s^#(X))}
      
      The usable rules for this path are the following:
      {  active(zeros()) -> mark(cons(0(), zeros()))
       , active(and(tt(), X)) -> mark(X)
       , active(length(nil())) -> mark(0())
       , active(length(cons(N, L))) -> mark(s(length(L)))
       , active(take(0(), IL)) -> mark(nil())
       , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
       , active(cons(X1, X2)) -> cons(active(X1), X2)
       , active(and(X1, X2)) -> and(active(X1), X2)
       , active(length(X)) -> length(active(X))
       , active(s(X)) -> s(active(X))
       , active(take(X1, X2)) -> take(active(X1), X2)
       , active(take(X1, X2)) -> take(X1, active(X2))
       , length(mark(X)) -> mark(length(X))
       , take(mark(X1), X2) -> mark(take(X1, X2))
       , take(X1, mark(X2)) -> mark(take(X1, X2))
       , length(ok(X)) -> ok(length(X))
       , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
       , cons(mark(X1), X2) -> mark(cons(X1, X2))
       , and(mark(X1), X2) -> mark(and(X1, X2))
       , s(mark(X)) -> mark(s(X))
       , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
       , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
       , s(ok(X)) -> ok(s(X))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  active(zeros()) -> mark(cons(0(), zeros()))
               , active(and(tt(), X)) -> mark(X)
               , active(length(nil())) -> mark(0())
               , active(length(cons(N, L))) -> mark(s(length(L)))
               , active(take(0(), IL)) -> mark(nil())
               , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
               , active(cons(X1, X2)) -> cons(active(X1), X2)
               , active(and(X1, X2)) -> and(active(X1), X2)
               , active(length(X)) -> length(active(X))
               , active(s(X)) -> s(active(X))
               , active(take(X1, X2)) -> take(active(X1), X2)
               , active(take(X1, X2)) -> take(X1, active(X2))
               , length(mark(X)) -> mark(length(X))
               , take(mark(X1), X2) -> mark(take(X1, X2))
               , take(X1, mark(X2)) -> mark(take(X1, X2))
               , length(ok(X)) -> ok(length(X))
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(mark(X1), X2) -> mark(cons(X1, X2))
               , and(mark(X1), X2) -> mark(and(X1, X2))
               , s(mark(X)) -> mark(s(X))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , s(ok(X)) -> ok(s(X))
               , active^#(s(X)) -> c_9(s^#(active(X)))
               , s^#(ok(X)) -> c_30(s^#(X))
               , s^#(mark(X)) -> c_15(s^#(X))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {s^#(mark(X)) -> c_15(s^#(X))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {s^#(mark(X)) -> c_15(s^#(X))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [1] x1 + [10]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [1] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [1] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [1] x1 + [3]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active^#(s(X)) -> c_9(s^#(active(X)))}
            and weakly orienting the rules
            {s^#(mark(X)) -> c_15(s^#(X))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active^#(s(X)) -> c_9(s^#(active(X)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [3]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [1] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [1] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [1] x1 + [1]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [1] x1 + [3]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , s^#(ok(X)) -> c_30(s^#(X))}
            and weakly orienting the rules
            {  active^#(s(X)) -> c_9(s^#(active(X)))
             , s^#(mark(X)) -> c_15(s^#(X))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  active(take(0(), IL)) -> mark(nil())
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , s^#(ok(X)) -> c_30(s^#(X))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [1]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [8]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [9]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [1] x1 + [1]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [1] x1 + [3]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [1] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [1] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
            and weakly orienting the rules
            {  active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , s^#(ok(X)) -> c_30(s^#(X))
             , active^#(s(X)) -> c_9(s^#(active(X)))
             , s^#(mark(X)) -> c_15(s^#(X))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [4]
                  take(x1, x2) = [1] x1 + [1] x2 + [4]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [5]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [1] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [1] x1 + [3]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [1] x1 + [1]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [1] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(length(nil())) -> mark(0())}
            and weakly orienting the rules
            {  active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , s^#(ok(X)) -> c_30(s^#(X))
             , active^#(s(X)) -> c_9(s^#(active(X)))
             , s^#(mark(X)) -> c_15(s^#(X))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(length(nil())) -> mark(0())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [1]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [8]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [6]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [1] x1 + [5]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [1] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [1] x1 + [1]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [1] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  active(and(tt(), X)) -> mark(X)
             , active(length(cons(N, L))) -> mark(s(length(L)))}
            and weakly orienting the rules
            {  active(length(nil())) -> mark(0())
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , s^#(ok(X)) -> c_30(s^#(X))
             , active^#(s(X)) -> c_9(s^#(active(X)))
             , s^#(mark(X)) -> c_15(s^#(X))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  active(and(tt(), X)) -> mark(X)
               , active(length(cons(N, L))) -> mark(s(length(L)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [6]
                  0() = [4]
                  and(x1, x2) = [1] x1 + [1] x2 + [4]
                  tt() = [8]
                  length(x1) = [1] x1 + [0]
                  nil() = [4]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [10]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [1] x1 + [1]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [1] x1 + [1]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [1] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [1] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(zeros()) -> mark(cons(0(), zeros()))}
            and weakly orienting the rules
            {  active(and(tt(), X)) -> mark(X)
             , active(length(cons(N, L))) -> mark(s(length(L)))
             , active(length(nil())) -> mark(0())
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , s^#(ok(X)) -> c_30(s^#(X))
             , active^#(s(X)) -> c_9(s^#(active(X)))
             , s^#(mark(X)) -> c_15(s^#(X))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(zeros()) -> mark(cons(0(), zeros()))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [2]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [6]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [6]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [11]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [1] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [1] x1 + [1]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [1] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [1] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  active(cons(X1, X2)) -> cons(active(X1), X2)
                 , active(and(X1, X2)) -> and(active(X1), X2)
                 , active(length(X)) -> length(active(X))
                 , active(s(X)) -> s(active(X))
                 , active(take(X1, X2)) -> take(active(X1), X2)
                 , active(take(X1, X2)) -> take(X1, active(X2))
                 , length(mark(X)) -> mark(length(X))
                 , take(mark(X1), X2) -> mark(take(X1, X2))
                 , take(X1, mark(X2)) -> mark(take(X1, X2))
                 , length(ok(X)) -> ok(length(X))
                 , cons(mark(X1), X2) -> mark(cons(X1, X2))
                 , and(mark(X1), X2) -> mark(and(X1, X2))
                 , s(mark(X)) -> mark(s(X))
                 , s(ok(X)) -> ok(s(X))}
              Weak Rules:
                {  active(zeros()) -> mark(cons(0(), zeros()))
                 , active(and(tt(), X)) -> mark(X)
                 , active(length(cons(N, L))) -> mark(s(length(L)))
                 , active(length(nil())) -> mark(0())
                 , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                 , active(take(0(), IL)) -> mark(nil())
                 , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                 , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                 , s^#(ok(X)) -> c_30(s^#(X))
                 , active^#(s(X)) -> c_9(s^#(active(X)))
                 , s^#(mark(X)) -> c_15(s^#(X))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  active(cons(X1, X2)) -> cons(active(X1), X2)
                   , active(and(X1, X2)) -> and(active(X1), X2)
                   , active(length(X)) -> length(active(X))
                   , active(s(X)) -> s(active(X))
                   , active(take(X1, X2)) -> take(active(X1), X2)
                   , active(take(X1, X2)) -> take(X1, active(X2))
                   , length(mark(X)) -> mark(length(X))
                   , take(mark(X1), X2) -> mark(take(X1, X2))
                   , take(X1, mark(X2)) -> mark(take(X1, X2))
                   , length(ok(X)) -> ok(length(X))
                   , cons(mark(X1), X2) -> mark(cons(X1, X2))
                   , and(mark(X1), X2) -> mark(and(X1, X2))
                   , s(mark(X)) -> mark(s(X))
                   , s(ok(X)) -> ok(s(X))}
                Weak Rules:
                  {  active(zeros()) -> mark(cons(0(), zeros()))
                   , active(and(tt(), X)) -> mark(X)
                   , active(length(cons(N, L))) -> mark(s(length(L)))
                   , active(length(nil())) -> mark(0())
                   , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                   , active(take(0(), IL)) -> mark(nil())
                   , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                   , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                   , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                   , s^#(ok(X)) -> c_30(s^#(X))
                   , active^#(s(X)) -> c_9(s^#(active(X)))
                   , s^#(mark(X)) -> c_15(s^#(X))}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  zeros_0() -> 2
                 , mark_0(2) -> 3
                 , mark_0(3) -> 3
                 , mark_0(5) -> 3
                 , mark_0(7) -> 3
                 , mark_0(9) -> 3
                 , mark_0(13) -> 3
                 , 0_0() -> 5
                 , tt_0() -> 7
                 , nil_0() -> 9
                 , ok_0(2) -> 13
                 , ok_0(3) -> 13
                 , ok_0(5) -> 13
                 , ok_0(7) -> 13
                 , ok_0(9) -> 13
                 , ok_0(13) -> 13
                 , active^#_0(2) -> 15
                 , active^#_0(3) -> 15
                 , active^#_0(5) -> 15
                 , active^#_0(7) -> 15
                 , active^#_0(9) -> 15
                 , active^#_0(13) -> 15
                 , s^#_0(2) -> 21
                 , s^#_0(3) -> 21
                 , s^#_0(5) -> 21
                 , s^#_0(7) -> 21
                 , s^#_0(9) -> 21
                 , s^#_0(13) -> 21
                 , c_15_0(21) -> 21
                 , c_30_0(21) -> 21}
      
   8) {active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
      
      The usable rules for this path are the following:
      {  active(zeros()) -> mark(cons(0(), zeros()))
       , active(and(tt(), X)) -> mark(X)
       , active(length(nil())) -> mark(0())
       , active(length(cons(N, L))) -> mark(s(length(L)))
       , active(take(0(), IL)) -> mark(nil())
       , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
       , active(cons(X1, X2)) -> cons(active(X1), X2)
       , active(and(X1, X2)) -> and(active(X1), X2)
       , active(length(X)) -> length(active(X))
       , active(s(X)) -> s(active(X))
       , active(take(X1, X2)) -> take(active(X1), X2)
       , active(take(X1, X2)) -> take(X1, active(X2))
       , length(mark(X)) -> mark(length(X))
       , take(mark(X1), X2) -> mark(take(X1, X2))
       , take(X1, mark(X2)) -> mark(take(X1, X2))
       , length(ok(X)) -> ok(length(X))
       , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
       , cons(mark(X1), X2) -> mark(cons(X1, X2))
       , and(mark(X1), X2) -> mark(and(X1, X2))
       , s(mark(X)) -> mark(s(X))
       , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
       , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
       , s(ok(X)) -> ok(s(X))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  active(zeros()) -> mark(cons(0(), zeros()))
               , active(and(tt(), X)) -> mark(X)
               , active(length(nil())) -> mark(0())
               , active(length(cons(N, L))) -> mark(s(length(L)))
               , active(take(0(), IL)) -> mark(nil())
               , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
               , active(cons(X1, X2)) -> cons(active(X1), X2)
               , active(and(X1, X2)) -> and(active(X1), X2)
               , active(length(X)) -> length(active(X))
               , active(s(X)) -> s(active(X))
               , active(take(X1, X2)) -> take(active(X1), X2)
               , active(take(X1, X2)) -> take(X1, active(X2))
               , length(mark(X)) -> mark(length(X))
               , take(mark(X1), X2) -> mark(take(X1, X2))
               , take(X1, mark(X2)) -> mark(take(X1, X2))
               , length(ok(X)) -> ok(length(X))
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(mark(X1), X2) -> mark(cons(X1, X2))
               , and(mark(X1), X2) -> mark(and(X1, X2))
               , s(mark(X)) -> mark(s(X))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , s(ok(X)) -> ok(s(X))
               , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {  active(take(0(), IL)) -> mark(nil())
             , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  active(take(0(), IL)) -> mark(nil())
               , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [2]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_11(x1) = [1] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(length(nil())) -> mark(0())}
            and weakly orienting the rules
            {  active(take(0(), IL)) -> mark(nil())
             , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(length(nil())) -> mark(0())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [3]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [4]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_11(x1) = [1] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
            and weakly orienting the rules
            {  active(length(nil())) -> mark(0())
             , active(take(0(), IL)) -> mark(nil())
             , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [8]
                  s(x1) = [1] x1 + [8]
                  take(x1, x2) = [1] x1 + [1] x2 + [8]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [13]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [3]
                  c_11(x1) = [1] x1 + [1]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            and weakly orienting the rules
            {  active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(length(nil())) -> mark(0())
             , active(take(0(), IL)) -> mark(nil())
             , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [2]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [8]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [15]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [15]
                  c_11(x1) = [1] x1 + [1]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(and(tt(), X)) -> mark(X)}
            and weakly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(length(nil())) -> mark(0())
             , active(take(0(), IL)) -> mark(nil())
             , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(and(tt(), X)) -> mark(X)}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [2]
                  tt() = [2]
                  length(x1) = [1] x1 + [0]
                  nil() = [4]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [7]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [8]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [12]
                  c_11(x1) = [1] x1 + [2]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(zeros()) -> mark(cons(0(), zeros()))}
            and weakly orienting the rules
            {  active(and(tt(), X)) -> mark(X)
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(length(nil())) -> mark(0())
             , active(take(0(), IL)) -> mark(nil())
             , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(zeros()) -> mark(cons(0(), zeros()))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [12]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [7]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [4]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_11(x1) = [1] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(length(cons(N, L))) -> mark(s(length(L)))}
            and weakly orienting the rules
            {  active(zeros()) -> mark(cons(0(), zeros()))
             , active(and(tt(), X)) -> mark(X)
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(length(nil())) -> mark(0())
             , active(take(0(), IL)) -> mark(nil())
             , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(length(cons(N, L))) -> mark(s(length(L)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [8]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [8]
                  length(x1) = [1] x1 + [2]
                  nil() = [1]
                  s(x1) = [1] x1 + [1]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [9]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_11(x1) = [1] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  active(cons(X1, X2)) -> cons(active(X1), X2)
                 , active(and(X1, X2)) -> and(active(X1), X2)
                 , active(length(X)) -> length(active(X))
                 , active(s(X)) -> s(active(X))
                 , active(take(X1, X2)) -> take(active(X1), X2)
                 , active(take(X1, X2)) -> take(X1, active(X2))
                 , length(mark(X)) -> mark(length(X))
                 , take(mark(X1), X2) -> mark(take(X1, X2))
                 , take(X1, mark(X2)) -> mark(take(X1, X2))
                 , length(ok(X)) -> ok(length(X))
                 , cons(mark(X1), X2) -> mark(cons(X1, X2))
                 , and(mark(X1), X2) -> mark(and(X1, X2))
                 , s(mark(X)) -> mark(s(X))
                 , s(ok(X)) -> ok(s(X))}
              Weak Rules:
                {  active(length(cons(N, L))) -> mark(s(length(L)))
                 , active(zeros()) -> mark(cons(0(), zeros()))
                 , active(and(tt(), X)) -> mark(X)
                 , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                 , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                 , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                 , active(length(nil())) -> mark(0())
                 , active(take(0(), IL)) -> mark(nil())
                 , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  active(cons(X1, X2)) -> cons(active(X1), X2)
                   , active(and(X1, X2)) -> and(active(X1), X2)
                   , active(length(X)) -> length(active(X))
                   , active(s(X)) -> s(active(X))
                   , active(take(X1, X2)) -> take(active(X1), X2)
                   , active(take(X1, X2)) -> take(X1, active(X2))
                   , length(mark(X)) -> mark(length(X))
                   , take(mark(X1), X2) -> mark(take(X1, X2))
                   , take(X1, mark(X2)) -> mark(take(X1, X2))
                   , length(ok(X)) -> ok(length(X))
                   , cons(mark(X1), X2) -> mark(cons(X1, X2))
                   , and(mark(X1), X2) -> mark(and(X1, X2))
                   , s(mark(X)) -> mark(s(X))
                   , s(ok(X)) -> ok(s(X))}
                Weak Rules:
                  {  active(length(cons(N, L))) -> mark(s(length(L)))
                   , active(zeros()) -> mark(cons(0(), zeros()))
                   , active(and(tt(), X)) -> mark(X)
                   , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                   , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                   , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                   , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                   , active(length(nil())) -> mark(0())
                   , active(take(0(), IL)) -> mark(nil())
                   , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  zeros_0() -> 2
                 , mark_0(2) -> 3
                 , mark_0(3) -> 3
                 , mark_0(5) -> 3
                 , mark_0(7) -> 3
                 , mark_0(9) -> 3
                 , mark_0(13) -> 3
                 , 0_0() -> 5
                 , tt_0() -> 7
                 , nil_0() -> 9
                 , ok_0(2) -> 13
                 , ok_0(3) -> 13
                 , ok_0(5) -> 13
                 , ok_0(7) -> 13
                 , ok_0(9) -> 13
                 , ok_0(13) -> 13
                 , active^#_0(2) -> 15
                 , active^#_0(3) -> 15
                 , active^#_0(5) -> 15
                 , active^#_0(7) -> 15
                 , active^#_0(9) -> 15
                 , active^#_0(13) -> 15
                 , take^#_0(2, 2) -> 31
                 , take^#_0(2, 3) -> 31
                 , take^#_0(2, 5) -> 31
                 , take^#_0(2, 7) -> 31
                 , take^#_0(2, 9) -> 31
                 , take^#_0(2, 13) -> 31
                 , take^#_0(3, 2) -> 31
                 , take^#_0(3, 3) -> 31
                 , take^#_0(3, 5) -> 31
                 , take^#_0(3, 7) -> 31
                 , take^#_0(3, 9) -> 31
                 , take^#_0(3, 13) -> 31
                 , take^#_0(5, 2) -> 31
                 , take^#_0(5, 3) -> 31
                 , take^#_0(5, 5) -> 31
                 , take^#_0(5, 7) -> 31
                 , take^#_0(5, 9) -> 31
                 , take^#_0(5, 13) -> 31
                 , take^#_0(7, 2) -> 31
                 , take^#_0(7, 3) -> 31
                 , take^#_0(7, 5) -> 31
                 , take^#_0(7, 7) -> 31
                 , take^#_0(7, 9) -> 31
                 , take^#_0(7, 13) -> 31
                 , take^#_0(9, 2) -> 31
                 , take^#_0(9, 3) -> 31
                 , take^#_0(9, 5) -> 31
                 , take^#_0(9, 7) -> 31
                 , take^#_0(9, 9) -> 31
                 , take^#_0(9, 13) -> 31
                 , take^#_0(13, 2) -> 31
                 , take^#_0(13, 3) -> 31
                 , take^#_0(13, 5) -> 31
                 , take^#_0(13, 7) -> 31
                 , take^#_0(13, 9) -> 31
                 , take^#_0(13, 13) -> 31}
      
   9) {active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
      
      The usable rules for this path are the following:
      {  active(zeros()) -> mark(cons(0(), zeros()))
       , active(and(tt(), X)) -> mark(X)
       , active(length(nil())) -> mark(0())
       , active(length(cons(N, L))) -> mark(s(length(L)))
       , active(take(0(), IL)) -> mark(nil())
       , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
       , active(cons(X1, X2)) -> cons(active(X1), X2)
       , active(and(X1, X2)) -> and(active(X1), X2)
       , active(length(X)) -> length(active(X))
       , active(s(X)) -> s(active(X))
       , active(take(X1, X2)) -> take(active(X1), X2)
       , active(take(X1, X2)) -> take(X1, active(X2))
       , length(mark(X)) -> mark(length(X))
       , take(mark(X1), X2) -> mark(take(X1, X2))
       , take(X1, mark(X2)) -> mark(take(X1, X2))
       , length(ok(X)) -> ok(length(X))
       , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
       , cons(mark(X1), X2) -> mark(cons(X1, X2))
       , and(mark(X1), X2) -> mark(and(X1, X2))
       , s(mark(X)) -> mark(s(X))
       , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
       , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
       , s(ok(X)) -> ok(s(X))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  active(zeros()) -> mark(cons(0(), zeros()))
               , active(and(tt(), X)) -> mark(X)
               , active(length(nil())) -> mark(0())
               , active(length(cons(N, L))) -> mark(s(length(L)))
               , active(take(0(), IL)) -> mark(nil())
               , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
               , active(cons(X1, X2)) -> cons(active(X1), X2)
               , active(and(X1, X2)) -> and(active(X1), X2)
               , active(length(X)) -> length(active(X))
               , active(s(X)) -> s(active(X))
               , active(take(X1, X2)) -> take(active(X1), X2)
               , active(take(X1, X2)) -> take(X1, active(X2))
               , length(mark(X)) -> mark(length(X))
               , take(mark(X1), X2) -> mark(take(X1, X2))
               , take(X1, mark(X2)) -> mark(take(X1, X2))
               , length(ok(X)) -> ok(length(X))
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(mark(X1), X2) -> mark(cons(X1, X2))
               , and(mark(X1), X2) -> mark(and(X1, X2))
               , s(mark(X)) -> mark(s(X))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , s(ok(X)) -> ok(s(X))
               , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {  active(take(0(), IL)) -> mark(nil())
             , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  active(take(0(), IL)) -> mark(nil())
               , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [2]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [1] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(length(nil())) -> mark(0())}
            and weakly orienting the rules
            {  active(take(0(), IL)) -> mark(nil())
             , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(length(nil())) -> mark(0())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [3]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [4]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [1] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
            and weakly orienting the rules
            {  active(length(nil())) -> mark(0())
             , active(take(0(), IL)) -> mark(nil())
             , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [8]
                  s(x1) = [1] x1 + [8]
                  take(x1, x2) = [1] x1 + [1] x2 + [8]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [13]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [1] x1 + [1]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [3]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            and weakly orienting the rules
            {  active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(length(nil())) -> mark(0())
             , active(take(0(), IL)) -> mark(nil())
             , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [2]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [8]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [15]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [1] x1 + [1]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [15]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(and(tt(), X)) -> mark(X)}
            and weakly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(length(nil())) -> mark(0())
             , active(take(0(), IL)) -> mark(nil())
             , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(and(tt(), X)) -> mark(X)}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [2]
                  tt() = [2]
                  length(x1) = [1] x1 + [0]
                  nil() = [4]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [7]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [8]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [1] x1 + [2]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [12]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(zeros()) -> mark(cons(0(), zeros()))}
            and weakly orienting the rules
            {  active(and(tt(), X)) -> mark(X)
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(length(nil())) -> mark(0())
             , active(take(0(), IL)) -> mark(nil())
             , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(zeros()) -> mark(cons(0(), zeros()))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [12]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [7]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [4]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [1] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(length(cons(N, L))) -> mark(s(length(L)))}
            and weakly orienting the rules
            {  active(zeros()) -> mark(cons(0(), zeros()))
             , active(and(tt(), X)) -> mark(X)
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(length(nil())) -> mark(0())
             , active(take(0(), IL)) -> mark(nil())
             , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(length(cons(N, L))) -> mark(s(length(L)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [8]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [8]
                  length(x1) = [1] x1 + [2]
                  nil() = [1]
                  s(x1) = [1] x1 + [1]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [9]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [1] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  active(cons(X1, X2)) -> cons(active(X1), X2)
                 , active(and(X1, X2)) -> and(active(X1), X2)
                 , active(length(X)) -> length(active(X))
                 , active(s(X)) -> s(active(X))
                 , active(take(X1, X2)) -> take(active(X1), X2)
                 , active(take(X1, X2)) -> take(X1, active(X2))
                 , length(mark(X)) -> mark(length(X))
                 , take(mark(X1), X2) -> mark(take(X1, X2))
                 , take(X1, mark(X2)) -> mark(take(X1, X2))
                 , length(ok(X)) -> ok(length(X))
                 , cons(mark(X1), X2) -> mark(cons(X1, X2))
                 , and(mark(X1), X2) -> mark(and(X1, X2))
                 , s(mark(X)) -> mark(s(X))
                 , s(ok(X)) -> ok(s(X))}
              Weak Rules:
                {  active(length(cons(N, L))) -> mark(s(length(L)))
                 , active(zeros()) -> mark(cons(0(), zeros()))
                 , active(and(tt(), X)) -> mark(X)
                 , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                 , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                 , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                 , active(length(nil())) -> mark(0())
                 , active(take(0(), IL)) -> mark(nil())
                 , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  active(cons(X1, X2)) -> cons(active(X1), X2)
                   , active(and(X1, X2)) -> and(active(X1), X2)
                   , active(length(X)) -> length(active(X))
                   , active(s(X)) -> s(active(X))
                   , active(take(X1, X2)) -> take(active(X1), X2)
                   , active(take(X1, X2)) -> take(X1, active(X2))
                   , length(mark(X)) -> mark(length(X))
                   , take(mark(X1), X2) -> mark(take(X1, X2))
                   , take(X1, mark(X2)) -> mark(take(X1, X2))
                   , length(ok(X)) -> ok(length(X))
                   , cons(mark(X1), X2) -> mark(cons(X1, X2))
                   , and(mark(X1), X2) -> mark(and(X1, X2))
                   , s(mark(X)) -> mark(s(X))
                   , s(ok(X)) -> ok(s(X))}
                Weak Rules:
                  {  active(length(cons(N, L))) -> mark(s(length(L)))
                   , active(zeros()) -> mark(cons(0(), zeros()))
                   , active(and(tt(), X)) -> mark(X)
                   , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                   , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                   , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                   , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                   , active(length(nil())) -> mark(0())
                   , active(take(0(), IL)) -> mark(nil())
                   , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  zeros_0() -> 2
                 , mark_0(2) -> 3
                 , mark_0(3) -> 3
                 , mark_0(5) -> 3
                 , mark_0(7) -> 3
                 , mark_0(9) -> 3
                 , mark_0(13) -> 3
                 , 0_0() -> 5
                 , tt_0() -> 7
                 , nil_0() -> 9
                 , ok_0(2) -> 13
                 , ok_0(3) -> 13
                 , ok_0(5) -> 13
                 , ok_0(7) -> 13
                 , ok_0(9) -> 13
                 , ok_0(13) -> 13
                 , active^#_0(2) -> 15
                 , active^#_0(3) -> 15
                 , active^#_0(5) -> 15
                 , active^#_0(7) -> 15
                 , active^#_0(9) -> 15
                 , active^#_0(13) -> 15
                 , take^#_0(2, 2) -> 31
                 , take^#_0(2, 3) -> 31
                 , take^#_0(2, 5) -> 31
                 , take^#_0(2, 7) -> 31
                 , take^#_0(2, 9) -> 31
                 , take^#_0(2, 13) -> 31
                 , take^#_0(3, 2) -> 31
                 , take^#_0(3, 3) -> 31
                 , take^#_0(3, 5) -> 31
                 , take^#_0(3, 7) -> 31
                 , take^#_0(3, 9) -> 31
                 , take^#_0(3, 13) -> 31
                 , take^#_0(5, 2) -> 31
                 , take^#_0(5, 3) -> 31
                 , take^#_0(5, 5) -> 31
                 , take^#_0(5, 7) -> 31
                 , take^#_0(5, 9) -> 31
                 , take^#_0(5, 13) -> 31
                 , take^#_0(7, 2) -> 31
                 , take^#_0(7, 3) -> 31
                 , take^#_0(7, 5) -> 31
                 , take^#_0(7, 7) -> 31
                 , take^#_0(7, 9) -> 31
                 , take^#_0(7, 13) -> 31
                 , take^#_0(9, 2) -> 31
                 , take^#_0(9, 3) -> 31
                 , take^#_0(9, 5) -> 31
                 , take^#_0(9, 7) -> 31
                 , take^#_0(9, 9) -> 31
                 , take^#_0(9, 13) -> 31
                 , take^#_0(13, 2) -> 31
                 , take^#_0(13, 3) -> 31
                 , take^#_0(13, 5) -> 31
                 , take^#_0(13, 7) -> 31
                 , take^#_0(13, 9) -> 31
                 , take^#_0(13, 13) -> 31}
      
   10)
      {active^#(length(X)) -> c_8(length^#(active(X)))}
      
      The usable rules for this path are the following:
      {  active(zeros()) -> mark(cons(0(), zeros()))
       , active(and(tt(), X)) -> mark(X)
       , active(length(nil())) -> mark(0())
       , active(length(cons(N, L))) -> mark(s(length(L)))
       , active(take(0(), IL)) -> mark(nil())
       , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
       , active(cons(X1, X2)) -> cons(active(X1), X2)
       , active(and(X1, X2)) -> and(active(X1), X2)
       , active(length(X)) -> length(active(X))
       , active(s(X)) -> s(active(X))
       , active(take(X1, X2)) -> take(active(X1), X2)
       , active(take(X1, X2)) -> take(X1, active(X2))
       , length(mark(X)) -> mark(length(X))
       , take(mark(X1), X2) -> mark(take(X1, X2))
       , take(X1, mark(X2)) -> mark(take(X1, X2))
       , length(ok(X)) -> ok(length(X))
       , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
       , cons(mark(X1), X2) -> mark(cons(X1, X2))
       , and(mark(X1), X2) -> mark(and(X1, X2))
       , s(mark(X)) -> mark(s(X))
       , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
       , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
       , s(ok(X)) -> ok(s(X))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  active(zeros()) -> mark(cons(0(), zeros()))
               , active(and(tt(), X)) -> mark(X)
               , active(length(nil())) -> mark(0())
               , active(length(cons(N, L))) -> mark(s(length(L)))
               , active(take(0(), IL)) -> mark(nil())
               , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
               , active(cons(X1, X2)) -> cons(active(X1), X2)
               , active(and(X1, X2)) -> and(active(X1), X2)
               , active(length(X)) -> length(active(X))
               , active(s(X)) -> s(active(X))
               , active(take(X1, X2)) -> take(active(X1), X2)
               , active(take(X1, X2)) -> take(X1, active(X2))
               , length(mark(X)) -> mark(length(X))
               , take(mark(X1), X2) -> mark(take(X1, X2))
               , take(X1, mark(X2)) -> mark(take(X1, X2))
               , length(ok(X)) -> ok(length(X))
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(mark(X1), X2) -> mark(cons(X1, X2))
               , and(mark(X1), X2) -> mark(and(X1, X2))
               , s(mark(X)) -> mark(s(X))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , s(ok(X)) -> ok(s(X))
               , active^#(length(X)) -> c_8(length^#(active(X)))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {  active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  active(take(0(), IL)) -> mark(nil())
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [2]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [7]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [1] x1 + [0]
                  length^#(x1) = [1] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(length(nil())) -> mark(0())}
            and weakly orienting the rules
            {  active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(length(nil())) -> mark(0())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [4]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [7]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [4]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [1] x1 + [15]
                  length^#(x1) = [1] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
            and weakly orienting the rules
            {  active(length(nil())) -> mark(0())
             , active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [3]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [4]
                  s(x1) = [1] x1 + [8]
                  take(x1, x2) = [1] x1 + [1] x2 + [8]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [8]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [1] x1 + [0]
                  length^#(x1) = [1] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active^#(length(X)) -> c_8(length^#(active(X)))}
            and weakly orienting the rules
            {  active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(length(nil())) -> mark(0())
             , active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active^#(length(X)) -> c_8(length^#(active(X)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [2]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [9]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [1] x1 + [0]
                  length^#(x1) = [1] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(and(tt(), X)) -> mark(X)}
            and weakly orienting the rules
            {  active^#(length(X)) -> c_8(length^#(active(X)))
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(length(nil())) -> mark(0())
             , active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(and(tt(), X)) -> mark(X)}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [3]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [8]
                  length(x1) = [1] x1 + [0]
                  nil() = [4]
                  s(x1) = [1] x1 + [8]
                  take(x1, x2) = [1] x1 + [1] x2 + [6]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [1] x1 + [0]
                  length^#(x1) = [1] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(zeros()) -> mark(cons(0(), zeros()))}
            and weakly orienting the rules
            {  active(and(tt(), X)) -> mark(X)
             , active^#(length(X)) -> c_8(length^#(active(X)))
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(length(nil())) -> mark(0())
             , active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(zeros()) -> mark(cons(0(), zeros()))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [1]
                  length(x1) = [1] x1 + [2]
                  nil() = [1]
                  s(x1) = [1] x1 + [10]
                  take(x1, x2) = [1] x1 + [1] x2 + [1]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [2]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [1] x1 + [0]
                  length^#(x1) = [1] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(length(cons(N, L))) -> mark(s(length(L)))}
            and weakly orienting the rules
            {  active(zeros()) -> mark(cons(0(), zeros()))
             , active(and(tt(), X)) -> mark(X)
             , active^#(length(X)) -> c_8(length^#(active(X)))
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(length(nil())) -> mark(0())
             , active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(length(cons(N, L))) -> mark(s(length(L)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [1]
                  and(x1, x2) = [1] x1 + [1] x2 + [1]
                  tt() = [8]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [13]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [1] x1 + [1]
                  length^#(x1) = [1] x1 + [8]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  active(cons(X1, X2)) -> cons(active(X1), X2)
                 , active(and(X1, X2)) -> and(active(X1), X2)
                 , active(length(X)) -> length(active(X))
                 , active(s(X)) -> s(active(X))
                 , active(take(X1, X2)) -> take(active(X1), X2)
                 , active(take(X1, X2)) -> take(X1, active(X2))
                 , length(mark(X)) -> mark(length(X))
                 , take(mark(X1), X2) -> mark(take(X1, X2))
                 , take(X1, mark(X2)) -> mark(take(X1, X2))
                 , length(ok(X)) -> ok(length(X))
                 , cons(mark(X1), X2) -> mark(cons(X1, X2))
                 , and(mark(X1), X2) -> mark(and(X1, X2))
                 , s(mark(X)) -> mark(s(X))
                 , s(ok(X)) -> ok(s(X))}
              Weak Rules:
                {  active(length(cons(N, L))) -> mark(s(length(L)))
                 , active(zeros()) -> mark(cons(0(), zeros()))
                 , active(and(tt(), X)) -> mark(X)
                 , active^#(length(X)) -> c_8(length^#(active(X)))
                 , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                 , active(length(nil())) -> mark(0())
                 , active(take(0(), IL)) -> mark(nil())
                 , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                 , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  active(cons(X1, X2)) -> cons(active(X1), X2)
                   , active(and(X1, X2)) -> and(active(X1), X2)
                   , active(length(X)) -> length(active(X))
                   , active(s(X)) -> s(active(X))
                   , active(take(X1, X2)) -> take(active(X1), X2)
                   , active(take(X1, X2)) -> take(X1, active(X2))
                   , length(mark(X)) -> mark(length(X))
                   , take(mark(X1), X2) -> mark(take(X1, X2))
                   , take(X1, mark(X2)) -> mark(take(X1, X2))
                   , length(ok(X)) -> ok(length(X))
                   , cons(mark(X1), X2) -> mark(cons(X1, X2))
                   , and(mark(X1), X2) -> mark(and(X1, X2))
                   , s(mark(X)) -> mark(s(X))
                   , s(ok(X)) -> ok(s(X))}
                Weak Rules:
                  {  active(length(cons(N, L))) -> mark(s(length(L)))
                   , active(zeros()) -> mark(cons(0(), zeros()))
                   , active(and(tt(), X)) -> mark(X)
                   , active^#(length(X)) -> c_8(length^#(active(X)))
                   , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                   , active(length(nil())) -> mark(0())
                   , active(take(0(), IL)) -> mark(nil())
                   , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                   , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                   , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  zeros_0() -> 2
                 , mark_0(2) -> 3
                 , mark_0(3) -> 3
                 , mark_0(5) -> 3
                 , mark_0(7) -> 3
                 , mark_0(9) -> 3
                 , mark_0(13) -> 3
                 , 0_0() -> 5
                 , tt_0() -> 7
                 , nil_0() -> 9
                 , ok_0(2) -> 13
                 , ok_0(3) -> 13
                 , ok_0(5) -> 13
                 , ok_0(7) -> 13
                 , ok_0(9) -> 13
                 , ok_0(13) -> 13
                 , active^#_0(2) -> 15
                 , active^#_0(3) -> 15
                 , active^#_0(5) -> 15
                 , active^#_0(7) -> 15
                 , active^#_0(9) -> 15
                 , active^#_0(13) -> 15
                 , length^#_0(2) -> 28
                 , length^#_0(3) -> 28
                 , length^#_0(5) -> 28
                 , length^#_0(7) -> 28
                 , length^#_0(9) -> 28
                 , length^#_0(13) -> 28}
      
   11)
      {active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))}
      
      The usable rules for this path are the following:
      {  active(zeros()) -> mark(cons(0(), zeros()))
       , active(and(tt(), X)) -> mark(X)
       , active(length(nil())) -> mark(0())
       , active(length(cons(N, L))) -> mark(s(length(L)))
       , active(take(0(), IL)) -> mark(nil())
       , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
       , active(cons(X1, X2)) -> cons(active(X1), X2)
       , active(and(X1, X2)) -> and(active(X1), X2)
       , active(length(X)) -> length(active(X))
       , active(s(X)) -> s(active(X))
       , active(take(X1, X2)) -> take(active(X1), X2)
       , active(take(X1, X2)) -> take(X1, active(X2))
       , length(mark(X)) -> mark(length(X))
       , take(mark(X1), X2) -> mark(take(X1, X2))
       , take(X1, mark(X2)) -> mark(take(X1, X2))
       , length(ok(X)) -> ok(length(X))
       , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
       , cons(mark(X1), X2) -> mark(cons(X1, X2))
       , and(mark(X1), X2) -> mark(and(X1, X2))
       , s(mark(X)) -> mark(s(X))
       , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
       , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
       , s(ok(X)) -> ok(s(X))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  active(zeros()) -> mark(cons(0(), zeros()))
               , active(and(tt(), X)) -> mark(X)
               , active(length(nil())) -> mark(0())
               , active(length(cons(N, L))) -> mark(s(length(L)))
               , active(take(0(), IL)) -> mark(nil())
               , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
               , active(cons(X1, X2)) -> cons(active(X1), X2)
               , active(and(X1, X2)) -> and(active(X1), X2)
               , active(length(X)) -> length(active(X))
               , active(s(X)) -> s(active(X))
               , active(take(X1, X2)) -> take(active(X1), X2)
               , active(take(X1, X2)) -> take(X1, active(X2))
               , length(mark(X)) -> mark(length(X))
               , take(mark(X1), X2) -> mark(take(X1, X2))
               , take(X1, mark(X2)) -> mark(take(X1, X2))
               , length(ok(X)) -> ok(length(X))
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(mark(X1), X2) -> mark(cons(X1, X2))
               , and(mark(X1), X2) -> mark(and(X1, X2))
               , s(mark(X)) -> mark(s(X))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , s(ok(X)) -> ok(s(X))
               , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {  active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  active(take(0(), IL)) -> mark(nil())
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [2]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [4]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [1] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))}
            and weakly orienting the rules
            {  active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [9]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [6]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [5]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [1] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
            and weakly orienting the rules
            {  active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
             , active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [6]
                  take(x1, x2) = [1] x1 + [1] x2 + [2]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [4]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [9]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [8]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [1] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(length(nil())) -> mark(0())}
            and weakly orienting the rules
            {  active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
             , active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(length(nil())) -> mark(0())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [8]
                  nil() = [0]
                  s(x1) = [1] x1 + [6]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [9]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [7]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [1] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(and(tt(), X)) -> mark(X)}
            and weakly orienting the rules
            {  active(length(nil())) -> mark(0())
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
             , active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(and(tt(), X)) -> mark(X)}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [1]
                  tt() = [11]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [7]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [1] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(zeros()) -> mark(cons(0(), zeros()))}
            and weakly orienting the rules
            {  active(and(tt(), X)) -> mark(X)
             , active(length(nil())) -> mark(0())
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
             , active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(zeros()) -> mark(cons(0(), zeros()))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [14]
                  nil() = [1]
                  s(x1) = [1] x1 + [2]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [8]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [5]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [1] x1 + [1]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(length(cons(N, L))) -> mark(s(length(L)))}
            and weakly orienting the rules
            {  active(zeros()) -> mark(cons(0(), zeros()))
             , active(and(tt(), X)) -> mark(X)
             , active(length(nil())) -> mark(0())
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
             , active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(length(cons(N, L))) -> mark(s(length(L)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [5]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [1]
                  and(x1, x2) = [1] x1 + [1] x2 + [1]
                  tt() = [2]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [1] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  active(cons(X1, X2)) -> cons(active(X1), X2)
                 , active(and(X1, X2)) -> and(active(X1), X2)
                 , active(length(X)) -> length(active(X))
                 , active(s(X)) -> s(active(X))
                 , active(take(X1, X2)) -> take(active(X1), X2)
                 , active(take(X1, X2)) -> take(X1, active(X2))
                 , length(mark(X)) -> mark(length(X))
                 , take(mark(X1), X2) -> mark(take(X1, X2))
                 , take(X1, mark(X2)) -> mark(take(X1, X2))
                 , length(ok(X)) -> ok(length(X))
                 , cons(mark(X1), X2) -> mark(cons(X1, X2))
                 , and(mark(X1), X2) -> mark(and(X1, X2))
                 , s(mark(X)) -> mark(s(X))
                 , s(ok(X)) -> ok(s(X))}
              Weak Rules:
                {  active(length(cons(N, L))) -> mark(s(length(L)))
                 , active(zeros()) -> mark(cons(0(), zeros()))
                 , active(and(tt(), X)) -> mark(X)
                 , active(length(nil())) -> mark(0())
                 , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                 , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
                 , active(take(0(), IL)) -> mark(nil())
                 , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                 , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  active(cons(X1, X2)) -> cons(active(X1), X2)
                   , active(and(X1, X2)) -> and(active(X1), X2)
                   , active(length(X)) -> length(active(X))
                   , active(s(X)) -> s(active(X))
                   , active(take(X1, X2)) -> take(active(X1), X2)
                   , active(take(X1, X2)) -> take(X1, active(X2))
                   , length(mark(X)) -> mark(length(X))
                   , take(mark(X1), X2) -> mark(take(X1, X2))
                   , take(X1, mark(X2)) -> mark(take(X1, X2))
                   , length(ok(X)) -> ok(length(X))
                   , cons(mark(X1), X2) -> mark(cons(X1, X2))
                   , and(mark(X1), X2) -> mark(and(X1, X2))
                   , s(mark(X)) -> mark(s(X))
                   , s(ok(X)) -> ok(s(X))}
                Weak Rules:
                  {  active(length(cons(N, L))) -> mark(s(length(L)))
                   , active(zeros()) -> mark(cons(0(), zeros()))
                   , active(and(tt(), X)) -> mark(X)
                   , active(length(nil())) -> mark(0())
                   , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                   , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
                   , active(take(0(), IL)) -> mark(nil())
                   , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                   , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                   , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  zeros_0() -> 2
                 , mark_0(2) -> 3
                 , mark_0(3) -> 3
                 , mark_0(5) -> 3
                 , mark_0(7) -> 3
                 , mark_0(9) -> 3
                 , mark_0(13) -> 3
                 , 0_0() -> 5
                 , tt_0() -> 7
                 , nil_0() -> 9
                 , ok_0(2) -> 13
                 , ok_0(3) -> 13
                 , ok_0(5) -> 13
                 , ok_0(7) -> 13
                 , ok_0(9) -> 13
                 , ok_0(13) -> 13
                 , active^#_0(2) -> 15
                 , active^#_0(3) -> 15
                 , active^#_0(5) -> 15
                 , active^#_0(7) -> 15
                 , active^#_0(9) -> 15
                 , active^#_0(13) -> 15
                 , cons^#_0(2, 2) -> 17
                 , cons^#_0(2, 3) -> 17
                 , cons^#_0(2, 5) -> 17
                 , cons^#_0(2, 7) -> 17
                 , cons^#_0(2, 9) -> 17
                 , cons^#_0(2, 13) -> 17
                 , cons^#_0(3, 2) -> 17
                 , cons^#_0(3, 3) -> 17
                 , cons^#_0(3, 5) -> 17
                 , cons^#_0(3, 7) -> 17
                 , cons^#_0(3, 9) -> 17
                 , cons^#_0(3, 13) -> 17
                 , cons^#_0(5, 2) -> 17
                 , cons^#_0(5, 3) -> 17
                 , cons^#_0(5, 5) -> 17
                 , cons^#_0(5, 7) -> 17
                 , cons^#_0(5, 9) -> 17
                 , cons^#_0(5, 13) -> 17
                 , cons^#_0(7, 2) -> 17
                 , cons^#_0(7, 3) -> 17
                 , cons^#_0(7, 5) -> 17
                 , cons^#_0(7, 7) -> 17
                 , cons^#_0(7, 9) -> 17
                 , cons^#_0(7, 13) -> 17
                 , cons^#_0(9, 2) -> 17
                 , cons^#_0(9, 3) -> 17
                 , cons^#_0(9, 5) -> 17
                 , cons^#_0(9, 7) -> 17
                 , cons^#_0(9, 9) -> 17
                 , cons^#_0(9, 13) -> 17
                 , cons^#_0(13, 2) -> 17
                 , cons^#_0(13, 3) -> 17
                 , cons^#_0(13, 5) -> 17
                 , cons^#_0(13, 7) -> 17
                 , cons^#_0(13, 9) -> 17
                 , cons^#_0(13, 13) -> 17}
      
   12)
      {active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))}
      
      The usable rules for this path are the following:
      {  active(zeros()) -> mark(cons(0(), zeros()))
       , active(and(tt(), X)) -> mark(X)
       , active(length(nil())) -> mark(0())
       , active(length(cons(N, L))) -> mark(s(length(L)))
       , active(take(0(), IL)) -> mark(nil())
       , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
       , active(cons(X1, X2)) -> cons(active(X1), X2)
       , active(and(X1, X2)) -> and(active(X1), X2)
       , active(length(X)) -> length(active(X))
       , active(s(X)) -> s(active(X))
       , active(take(X1, X2)) -> take(active(X1), X2)
       , active(take(X1, X2)) -> take(X1, active(X2))
       , length(mark(X)) -> mark(length(X))
       , take(mark(X1), X2) -> mark(take(X1, X2))
       , take(X1, mark(X2)) -> mark(take(X1, X2))
       , length(ok(X)) -> ok(length(X))
       , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
       , cons(mark(X1), X2) -> mark(cons(X1, X2))
       , and(mark(X1), X2) -> mark(and(X1, X2))
       , s(mark(X)) -> mark(s(X))
       , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
       , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
       , s(ok(X)) -> ok(s(X))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  active(zeros()) -> mark(cons(0(), zeros()))
               , active(and(tt(), X)) -> mark(X)
               , active(length(nil())) -> mark(0())
               , active(length(cons(N, L))) -> mark(s(length(L)))
               , active(take(0(), IL)) -> mark(nil())
               , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
               , active(cons(X1, X2)) -> cons(active(X1), X2)
               , active(and(X1, X2)) -> and(active(X1), X2)
               , active(length(X)) -> length(active(X))
               , active(s(X)) -> s(active(X))
               , active(take(X1, X2)) -> take(active(X1), X2)
               , active(take(X1, X2)) -> take(X1, active(X2))
               , length(mark(X)) -> mark(length(X))
               , take(mark(X1), X2) -> mark(take(X1, X2))
               , take(X1, mark(X2)) -> mark(take(X1, X2))
               , length(ok(X)) -> ok(length(X))
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(mark(X1), X2) -> mark(cons(X1, X2))
               , and(mark(X1), X2) -> mark(and(X1, X2))
               , s(mark(X)) -> mark(s(X))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , s(ok(X)) -> ok(s(X))
               , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {  active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  active(take(0(), IL)) -> mark(nil())
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [2]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [4]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [1] x1 + [0]
                  and^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))}
            and weakly orienting the rules
            {  active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [9]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [6]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [5]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [1] x1 + [0]
                  and^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
            and weakly orienting the rules
            {  active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
             , active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [6]
                  take(x1, x2) = [1] x1 + [1] x2 + [2]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [4]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [9]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [1] x1 + [0]
                  and^#(x1, x2) = [1] x1 + [1] x2 + [8]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(length(nil())) -> mark(0())}
            and weakly orienting the rules
            {  active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
             , active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(length(nil())) -> mark(0())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [8]
                  nil() = [0]
                  s(x1) = [1] x1 + [6]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [9]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [1] x1 + [0]
                  and^#(x1, x2) = [1] x1 + [1] x2 + [7]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(and(tt(), X)) -> mark(X)}
            and weakly orienting the rules
            {  active(length(nil())) -> mark(0())
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
             , active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(and(tt(), X)) -> mark(X)}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [1]
                  tt() = [15]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [7]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [4]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [1] x1 + [0]
                  and^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(zeros()) -> mark(cons(0(), zeros()))}
            and weakly orienting the rules
            {  active(and(tt(), X)) -> mark(X)
             , active(length(nil())) -> mark(0())
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
             , active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(zeros()) -> mark(cons(0(), zeros()))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [14]
                  nil() = [1]
                  s(x1) = [1] x1 + [2]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [8]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [5]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [1] x1 + [1]
                  and^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(length(cons(N, L))) -> mark(s(length(L)))}
            and weakly orienting the rules
            {  active(zeros()) -> mark(cons(0(), zeros()))
             , active(and(tt(), X)) -> mark(X)
             , active(length(nil())) -> mark(0())
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
             , active(take(0(), IL)) -> mark(nil())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(length(cons(N, L))) -> mark(s(length(L)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [1]
                  tt() = [2]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [1] x1 + [0]
                  and^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  active(cons(X1, X2)) -> cons(active(X1), X2)
                 , active(and(X1, X2)) -> and(active(X1), X2)
                 , active(length(X)) -> length(active(X))
                 , active(s(X)) -> s(active(X))
                 , active(take(X1, X2)) -> take(active(X1), X2)
                 , active(take(X1, X2)) -> take(X1, active(X2))
                 , length(mark(X)) -> mark(length(X))
                 , take(mark(X1), X2) -> mark(take(X1, X2))
                 , take(X1, mark(X2)) -> mark(take(X1, X2))
                 , length(ok(X)) -> ok(length(X))
                 , cons(mark(X1), X2) -> mark(cons(X1, X2))
                 , and(mark(X1), X2) -> mark(and(X1, X2))
                 , s(mark(X)) -> mark(s(X))
                 , s(ok(X)) -> ok(s(X))}
              Weak Rules:
                {  active(length(cons(N, L))) -> mark(s(length(L)))
                 , active(zeros()) -> mark(cons(0(), zeros()))
                 , active(and(tt(), X)) -> mark(X)
                 , active(length(nil())) -> mark(0())
                 , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                 , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
                 , active(take(0(), IL)) -> mark(nil())
                 , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                 , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  active(cons(X1, X2)) -> cons(active(X1), X2)
                   , active(and(X1, X2)) -> and(active(X1), X2)
                   , active(length(X)) -> length(active(X))
                   , active(s(X)) -> s(active(X))
                   , active(take(X1, X2)) -> take(active(X1), X2)
                   , active(take(X1, X2)) -> take(X1, active(X2))
                   , length(mark(X)) -> mark(length(X))
                   , take(mark(X1), X2) -> mark(take(X1, X2))
                   , take(X1, mark(X2)) -> mark(take(X1, X2))
                   , length(ok(X)) -> ok(length(X))
                   , cons(mark(X1), X2) -> mark(cons(X1, X2))
                   , and(mark(X1), X2) -> mark(and(X1, X2))
                   , s(mark(X)) -> mark(s(X))
                   , s(ok(X)) -> ok(s(X))}
                Weak Rules:
                  {  active(length(cons(N, L))) -> mark(s(length(L)))
                   , active(zeros()) -> mark(cons(0(), zeros()))
                   , active(and(tt(), X)) -> mark(X)
                   , active(length(nil())) -> mark(0())
                   , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                   , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
                   , active(take(0(), IL)) -> mark(nil())
                   , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                   , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                   , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  zeros_0() -> 2
                 , mark_0(2) -> 3
                 , mark_0(3) -> 3
                 , mark_0(5) -> 3
                 , mark_0(7) -> 3
                 , mark_0(9) -> 3
                 , mark_0(13) -> 3
                 , 0_0() -> 5
                 , tt_0() -> 7
                 , nil_0() -> 9
                 , ok_0(2) -> 13
                 , ok_0(3) -> 13
                 , ok_0(5) -> 13
                 , ok_0(7) -> 13
                 , ok_0(9) -> 13
                 , ok_0(13) -> 13
                 , active^#_0(2) -> 15
                 , active^#_0(3) -> 15
                 , active^#_0(5) -> 15
                 , active^#_0(7) -> 15
                 , active^#_0(9) -> 15
                 , active^#_0(13) -> 15
                 , and^#_0(2, 2) -> 26
                 , and^#_0(2, 3) -> 26
                 , and^#_0(2, 5) -> 26
                 , and^#_0(2, 7) -> 26
                 , and^#_0(2, 9) -> 26
                 , and^#_0(2, 13) -> 26
                 , and^#_0(3, 2) -> 26
                 , and^#_0(3, 3) -> 26
                 , and^#_0(3, 5) -> 26
                 , and^#_0(3, 7) -> 26
                 , and^#_0(3, 9) -> 26
                 , and^#_0(3, 13) -> 26
                 , and^#_0(5, 2) -> 26
                 , and^#_0(5, 3) -> 26
                 , and^#_0(5, 5) -> 26
                 , and^#_0(5, 7) -> 26
                 , and^#_0(5, 9) -> 26
                 , and^#_0(5, 13) -> 26
                 , and^#_0(7, 2) -> 26
                 , and^#_0(7, 3) -> 26
                 , and^#_0(7, 5) -> 26
                 , and^#_0(7, 7) -> 26
                 , and^#_0(7, 9) -> 26
                 , and^#_0(7, 13) -> 26
                 , and^#_0(9, 2) -> 26
                 , and^#_0(9, 3) -> 26
                 , and^#_0(9, 5) -> 26
                 , and^#_0(9, 7) -> 26
                 , and^#_0(9, 9) -> 26
                 , and^#_0(9, 13) -> 26
                 , and^#_0(13, 2) -> 26
                 , and^#_0(13, 3) -> 26
                 , and^#_0(13, 5) -> 26
                 , and^#_0(13, 7) -> 26
                 , and^#_0(13, 9) -> 26
                 , and^#_0(13, 13) -> 26}
      
   13)
      {active^#(s(X)) -> c_9(s^#(active(X)))}
      
      The usable rules for this path are the following:
      {  active(zeros()) -> mark(cons(0(), zeros()))
       , active(and(tt(), X)) -> mark(X)
       , active(length(nil())) -> mark(0())
       , active(length(cons(N, L))) -> mark(s(length(L)))
       , active(take(0(), IL)) -> mark(nil())
       , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
       , active(cons(X1, X2)) -> cons(active(X1), X2)
       , active(and(X1, X2)) -> and(active(X1), X2)
       , active(length(X)) -> length(active(X))
       , active(s(X)) -> s(active(X))
       , active(take(X1, X2)) -> take(active(X1), X2)
       , active(take(X1, X2)) -> take(X1, active(X2))
       , length(mark(X)) -> mark(length(X))
       , take(mark(X1), X2) -> mark(take(X1, X2))
       , take(X1, mark(X2)) -> mark(take(X1, X2))
       , length(ok(X)) -> ok(length(X))
       , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
       , cons(mark(X1), X2) -> mark(cons(X1, X2))
       , and(mark(X1), X2) -> mark(and(X1, X2))
       , s(mark(X)) -> mark(s(X))
       , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
       , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
       , s(ok(X)) -> ok(s(X))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  active(zeros()) -> mark(cons(0(), zeros()))
               , active(and(tt(), X)) -> mark(X)
               , active(length(nil())) -> mark(0())
               , active(length(cons(N, L))) -> mark(s(length(L)))
               , active(take(0(), IL)) -> mark(nil())
               , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
               , active(cons(X1, X2)) -> cons(active(X1), X2)
               , active(and(X1, X2)) -> and(active(X1), X2)
               , active(length(X)) -> length(active(X))
               , active(s(X)) -> s(active(X))
               , active(take(X1, X2)) -> take(active(X1), X2)
               , active(take(X1, X2)) -> take(X1, active(X2))
               , length(mark(X)) -> mark(length(X))
               , take(mark(X1), X2) -> mark(take(X1, X2))
               , take(X1, mark(X2)) -> mark(take(X1, X2))
               , length(ok(X)) -> ok(length(X))
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(mark(X1), X2) -> mark(cons(X1, X2))
               , and(mark(X1), X2) -> mark(and(X1, X2))
               , s(mark(X)) -> mark(s(X))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , s(ok(X)) -> ok(s(X))
               , active^#(s(X)) -> c_9(s^#(active(X)))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {active(take(0(), IL)) -> mark(nil())}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(take(0(), IL)) -> mark(nil())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [2]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [1] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [1] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active^#(s(X)) -> c_9(s^#(active(X)))}
            and weakly orienting the rules
            {active(take(0(), IL)) -> mark(nil())}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active^#(s(X)) -> c_9(s^#(active(X)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [9]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [1] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [1] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  active(length(nil())) -> mark(0())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            and weakly orienting the rules
            {  active^#(s(X)) -> c_9(s^#(active(X)))
             , active(take(0(), IL)) -> mark(nil())}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  active(length(nil())) -> mark(0())
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [3]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [4]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [1] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [1] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
            and weakly orienting the rules
            {  active(length(nil())) -> mark(0())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , active^#(s(X)) -> c_9(s^#(active(X)))
             , active(take(0(), IL)) -> mark(nil())}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [8]
                  nil() = [0]
                  s(x1) = [1] x1 + [2]
                  take(x1, x2) = [1] x1 + [1] x2 + [2]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [8]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [9]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [1] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [1] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(and(tt(), X)) -> mark(X)}
            and weakly orienting the rules
            {  active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(length(nil())) -> mark(0())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , active^#(s(X)) -> c_9(s^#(active(X)))
             , active(take(0(), IL)) -> mark(nil())}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(and(tt(), X)) -> mark(X)}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [3]
                  tt() = [5]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [7]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [9]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [1] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [1] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(length(cons(N, L))) -> mark(s(length(L)))}
            and weakly orienting the rules
            {  active(and(tt(), X)) -> mark(X)
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(length(nil())) -> mark(0())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , active^#(s(X)) -> c_9(s^#(active(X)))
             , active(take(0(), IL)) -> mark(nil())}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(length(cons(N, L))) -> mark(s(length(L)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [10]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [8]
                  nil() = [4]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [8]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [1] x1 + [7]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [1] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {active(zeros()) -> mark(cons(0(), zeros()))}
            and weakly orienting the rules
            {  active(length(cons(N, L))) -> mark(s(length(L)))
             , active(and(tt(), X)) -> mark(X)
             , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
             , active(length(nil())) -> mark(0())
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , active^#(s(X)) -> c_9(s^#(active(X)))
             , active(take(0(), IL)) -> mark(nil())}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active(zeros()) -> mark(cons(0(), zeros()))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [1] x1 + [1]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [4]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [9]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [1] x1 + [2]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [1] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  active(cons(X1, X2)) -> cons(active(X1), X2)
                 , active(and(X1, X2)) -> and(active(X1), X2)
                 , active(length(X)) -> length(active(X))
                 , active(s(X)) -> s(active(X))
                 , active(take(X1, X2)) -> take(active(X1), X2)
                 , active(take(X1, X2)) -> take(X1, active(X2))
                 , length(mark(X)) -> mark(length(X))
                 , take(mark(X1), X2) -> mark(take(X1, X2))
                 , take(X1, mark(X2)) -> mark(take(X1, X2))
                 , length(ok(X)) -> ok(length(X))
                 , cons(mark(X1), X2) -> mark(cons(X1, X2))
                 , and(mark(X1), X2) -> mark(and(X1, X2))
                 , s(mark(X)) -> mark(s(X))
                 , s(ok(X)) -> ok(s(X))}
              Weak Rules:
                {  active(zeros()) -> mark(cons(0(), zeros()))
                 , active(length(cons(N, L))) -> mark(s(length(L)))
                 , active(and(tt(), X)) -> mark(X)
                 , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                 , active(length(nil())) -> mark(0())
                 , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                 , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                 , active^#(s(X)) -> c_9(s^#(active(X)))
                 , active(take(0(), IL)) -> mark(nil())}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  active(cons(X1, X2)) -> cons(active(X1), X2)
                   , active(and(X1, X2)) -> and(active(X1), X2)
                   , active(length(X)) -> length(active(X))
                   , active(s(X)) -> s(active(X))
                   , active(take(X1, X2)) -> take(active(X1), X2)
                   , active(take(X1, X2)) -> take(X1, active(X2))
                   , length(mark(X)) -> mark(length(X))
                   , take(mark(X1), X2) -> mark(take(X1, X2))
                   , take(X1, mark(X2)) -> mark(take(X1, X2))
                   , length(ok(X)) -> ok(length(X))
                   , cons(mark(X1), X2) -> mark(cons(X1, X2))
                   , and(mark(X1), X2) -> mark(and(X1, X2))
                   , s(mark(X)) -> mark(s(X))
                   , s(ok(X)) -> ok(s(X))}
                Weak Rules:
                  {  active(zeros()) -> mark(cons(0(), zeros()))
                   , active(length(cons(N, L))) -> mark(s(length(L)))
                   , active(and(tt(), X)) -> mark(X)
                   , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
                   , active(length(nil())) -> mark(0())
                   , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                   , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                   , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                   , active^#(s(X)) -> c_9(s^#(active(X)))
                   , active(take(0(), IL)) -> mark(nil())}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  zeros_0() -> 2
                 , mark_0(2) -> 3
                 , mark_0(3) -> 3
                 , mark_0(5) -> 3
                 , mark_0(7) -> 3
                 , mark_0(9) -> 3
                 , mark_0(13) -> 3
                 , 0_0() -> 5
                 , tt_0() -> 7
                 , nil_0() -> 9
                 , ok_0(2) -> 13
                 , ok_0(3) -> 13
                 , ok_0(5) -> 13
                 , ok_0(7) -> 13
                 , ok_0(9) -> 13
                 , ok_0(13) -> 13
                 , active^#_0(2) -> 15
                 , active^#_0(3) -> 15
                 , active^#_0(5) -> 15
                 , active^#_0(7) -> 15
                 , active^#_0(9) -> 15
                 , active^#_0(13) -> 15
                 , s^#_0(2) -> 21
                 , s^#_0(3) -> 21
                 , s^#_0(5) -> 21
                 , s^#_0(7) -> 21
                 , s^#_0(9) -> 21
                 , s^#_0(13) -> 21}
      
   14)
      {  proper^#(s(X)) -> c_25(s^#(proper(X)))
       , s^#(ok(X)) -> c_30(s^#(X))
       , s^#(mark(X)) -> c_15(s^#(X))}
      
      The usable rules for this path are the following:
      {  proper(zeros()) -> ok(zeros())
       , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
       , proper(0()) -> ok(0())
       , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
       , proper(tt()) -> ok(tt())
       , proper(length(X)) -> length(proper(X))
       , proper(nil()) -> ok(nil())
       , proper(s(X)) -> s(proper(X))
       , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
       , length(mark(X)) -> mark(length(X))
       , take(mark(X1), X2) -> mark(take(X1, X2))
       , take(X1, mark(X2)) -> mark(take(X1, X2))
       , length(ok(X)) -> ok(length(X))
       , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
       , cons(mark(X1), X2) -> mark(cons(X1, X2))
       , and(mark(X1), X2) -> mark(and(X1, X2))
       , s(mark(X)) -> mark(s(X))
       , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
       , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
       , s(ok(X)) -> ok(s(X))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  proper(zeros()) -> ok(zeros())
               , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
               , proper(0()) -> ok(0())
               , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
               , proper(tt()) -> ok(tt())
               , proper(length(X)) -> length(proper(X))
               , proper(nil()) -> ok(nil())
               , proper(s(X)) -> s(proper(X))
               , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
               , length(mark(X)) -> mark(length(X))
               , take(mark(X1), X2) -> mark(take(X1, X2))
               , take(X1, mark(X2)) -> mark(take(X1, X2))
               , length(ok(X)) -> ok(length(X))
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(mark(X1), X2) -> mark(cons(X1, X2))
               , and(mark(X1), X2) -> mark(and(X1, X2))
               , s(mark(X)) -> mark(s(X))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , s(ok(X)) -> ok(s(X))
               , proper^#(s(X)) -> c_25(s^#(proper(X)))
               , s^#(ok(X)) -> c_30(s^#(X))
               , s^#(mark(X)) -> c_15(s^#(X))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [2]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [1] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [1] x1 + [1]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [1]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [1] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [1] x1 + [1]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {s^#(ok(X)) -> c_30(s^#(X))}
            and weakly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {s^#(ok(X)) -> c_30(s^#(X))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [1] x1 + [8]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [1] x1 + [1]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [1]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [1] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [1] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {s^#(mark(X)) -> c_15(s^#(X))}
            and weakly orienting the rules
            {  s^#(ok(X)) -> c_30(s^#(X))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {s^#(mark(X)) -> c_15(s^#(X))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [9]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [1] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [1] x1 + [8]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [1]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [1] x1 + [1]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [1] x1 + [1]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {proper^#(s(X)) -> c_25(s^#(proper(X)))}
            and weakly orienting the rules
            {  s^#(mark(X)) -> c_15(s^#(X))
             , s^#(ok(X)) -> c_30(s^#(X))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {proper^#(s(X)) -> c_25(s^#(proper(X)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [4]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [1] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [1] x1 + [1]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [1]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [1] x1 + [2]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [1] x1 + [1]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  proper(zeros()) -> ok(zeros())
             , proper(0()) -> ok(0())
             , proper(tt()) -> ok(tt())
             , proper(nil()) -> ok(nil())}
            and weakly orienting the rules
            {  proper^#(s(X)) -> c_25(s^#(proper(X)))
             , s^#(mark(X)) -> c_15(s^#(X))
             , s^#(ok(X)) -> c_30(s^#(X))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  proper(zeros()) -> ok(zeros())
               , proper(0()) -> ok(0())
               , proper(tt()) -> ok(tt())
               , proper(nil()) -> ok(nil())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [1]
                  tt() = [0]
                  length(x1) = [1] x1 + [1]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [1] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [1] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [9]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [1] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [1] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
                 , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
                 , proper(length(X)) -> length(proper(X))
                 , proper(s(X)) -> s(proper(X))
                 , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
                 , length(mark(X)) -> mark(length(X))
                 , take(mark(X1), X2) -> mark(take(X1, X2))
                 , take(X1, mark(X2)) -> mark(take(X1, X2))
                 , length(ok(X)) -> ok(length(X))
                 , cons(mark(X1), X2) -> mark(cons(X1, X2))
                 , and(mark(X1), X2) -> mark(and(X1, X2))
                 , s(mark(X)) -> mark(s(X))
                 , s(ok(X)) -> ok(s(X))}
              Weak Rules:
                {  proper(zeros()) -> ok(zeros())
                 , proper(0()) -> ok(0())
                 , proper(tt()) -> ok(tt())
                 , proper(nil()) -> ok(nil())
                 , proper^#(s(X)) -> c_25(s^#(proper(X)))
                 , s^#(mark(X)) -> c_15(s^#(X))
                 , s^#(ok(X)) -> c_30(s^#(X))
                 , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                 , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
                   , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
                   , proper(length(X)) -> length(proper(X))
                   , proper(s(X)) -> s(proper(X))
                   , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
                   , length(mark(X)) -> mark(length(X))
                   , take(mark(X1), X2) -> mark(take(X1, X2))
                   , take(X1, mark(X2)) -> mark(take(X1, X2))
                   , length(ok(X)) -> ok(length(X))
                   , cons(mark(X1), X2) -> mark(cons(X1, X2))
                   , and(mark(X1), X2) -> mark(and(X1, X2))
                   , s(mark(X)) -> mark(s(X))
                   , s(ok(X)) -> ok(s(X))}
                Weak Rules:
                  {  proper(zeros()) -> ok(zeros())
                   , proper(0()) -> ok(0())
                   , proper(tt()) -> ok(tt())
                   , proper(nil()) -> ok(nil())
                   , proper^#(s(X)) -> c_25(s^#(proper(X)))
                   , s^#(mark(X)) -> c_15(s^#(X))
                   , s^#(ok(X)) -> c_30(s^#(X))
                   , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                   , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                   , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  zeros_0() -> 2
                 , mark_0(2) -> 3
                 , mark_0(3) -> 3
                 , mark_0(5) -> 3
                 , mark_0(7) -> 3
                 , mark_0(9) -> 3
                 , mark_0(13) -> 3
                 , 0_0() -> 5
                 , tt_0() -> 7
                 , nil_0() -> 9
                 , ok_0(2) -> 13
                 , ok_0(3) -> 13
                 , ok_0(5) -> 13
                 , ok_0(7) -> 13
                 , ok_0(9) -> 13
                 , ok_0(13) -> 13
                 , s^#_0(2) -> 21
                 , s^#_0(3) -> 21
                 , s^#_0(5) -> 21
                 , s^#_0(7) -> 21
                 , s^#_0(9) -> 21
                 , s^#_0(13) -> 21
                 , c_15_0(21) -> 21
                 , proper^#_0(2) -> 39
                 , proper^#_0(3) -> 39
                 , proper^#_0(5) -> 39
                 , proper^#_0(7) -> 39
                 , proper^#_0(9) -> 39
                 , proper^#_0(13) -> 39
                 , c_30_0(21) -> 21}
      
   15)
      {  proper^#(length(X)) -> c_23(length^#(proper(X)))
       , length^#(ok(X)) -> c_29(length^#(X))
       , length^#(mark(X)) -> c_14(length^#(X))}
      
      The usable rules for this path are the following:
      {  proper(zeros()) -> ok(zeros())
       , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
       , proper(0()) -> ok(0())
       , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
       , proper(tt()) -> ok(tt())
       , proper(length(X)) -> length(proper(X))
       , proper(nil()) -> ok(nil())
       , proper(s(X)) -> s(proper(X))
       , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
       , length(mark(X)) -> mark(length(X))
       , take(mark(X1), X2) -> mark(take(X1, X2))
       , take(X1, mark(X2)) -> mark(take(X1, X2))
       , length(ok(X)) -> ok(length(X))
       , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
       , cons(mark(X1), X2) -> mark(cons(X1, X2))
       , and(mark(X1), X2) -> mark(and(X1, X2))
       , s(mark(X)) -> mark(s(X))
       , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
       , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
       , s(ok(X)) -> ok(s(X))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  proper(zeros()) -> ok(zeros())
               , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
               , proper(0()) -> ok(0())
               , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
               , proper(tt()) -> ok(tt())
               , proper(length(X)) -> length(proper(X))
               , proper(nil()) -> ok(nil())
               , proper(s(X)) -> s(proper(X))
               , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
               , length(mark(X)) -> mark(length(X))
               , take(mark(X1), X2) -> mark(take(X1, X2))
               , take(X1, mark(X2)) -> mark(take(X1, X2))
               , length(ok(X)) -> ok(length(X))
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(mark(X1), X2) -> mark(cons(X1, X2))
               , and(mark(X1), X2) -> mark(and(X1, X2))
               , s(mark(X)) -> mark(s(X))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , s(ok(X)) -> ok(s(X))
               , proper^#(length(X)) -> c_23(length^#(proper(X)))
               , length^#(ok(X)) -> c_29(length^#(X))
               , length^#(mark(X)) -> c_14(length^#(X))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [1] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [1] x1 + [1]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [1]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [1] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [1] x1 + [1]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {length^#(ok(X)) -> c_29(length^#(X))}
            and weakly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {length^#(ok(X)) -> c_29(length^#(X))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [1]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [1] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [1] x1 + [1]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [1]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [1] x1 + [4]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [1] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {proper^#(length(X)) -> c_23(length^#(proper(X)))}
            and weakly orienting the rules
            {  length^#(ok(X)) -> c_29(length^#(X))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {proper^#(length(X)) -> c_23(length^#(proper(X)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [1] x1 + [1]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [1] x1 + [3]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [9]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [1] x1 + [1]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [1] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {length^#(mark(X)) -> c_14(length^#(X))}
            and weakly orienting the rules
            {  proper^#(length(X)) -> c_23(length^#(proper(X)))
             , length^#(ok(X)) -> c_29(length^#(X))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {length^#(mark(X)) -> c_14(length^#(X))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [4]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [1] x1 + [7]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [1] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [9]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [1] x1 + [1]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [1] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  proper(zeros()) -> ok(zeros())
             , proper(0()) -> ok(0())
             , proper(tt()) -> ok(tt())
             , proper(nil()) -> ok(nil())}
            and weakly orienting the rules
            {  length^#(mark(X)) -> c_14(length^#(X))
             , proper^#(length(X)) -> c_23(length^#(proper(X)))
             , length^#(ok(X)) -> c_29(length^#(X))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  proper(zeros()) -> ok(zeros())
               , proper(0()) -> ok(0())
               , proper(tt()) -> ok(tt())
               , proper(nil()) -> ok(nil())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [2]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [1]
                  0() = [8]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [8]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [1] x1 + [1]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [1] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [4]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [1] x1 + [1]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [1] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
                 , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
                 , proper(length(X)) -> length(proper(X))
                 , proper(s(X)) -> s(proper(X))
                 , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
                 , length(mark(X)) -> mark(length(X))
                 , take(mark(X1), X2) -> mark(take(X1, X2))
                 , take(X1, mark(X2)) -> mark(take(X1, X2))
                 , length(ok(X)) -> ok(length(X))
                 , cons(mark(X1), X2) -> mark(cons(X1, X2))
                 , and(mark(X1), X2) -> mark(and(X1, X2))
                 , s(mark(X)) -> mark(s(X))
                 , s(ok(X)) -> ok(s(X))}
              Weak Rules:
                {  proper(zeros()) -> ok(zeros())
                 , proper(0()) -> ok(0())
                 , proper(tt()) -> ok(tt())
                 , proper(nil()) -> ok(nil())
                 , length^#(mark(X)) -> c_14(length^#(X))
                 , proper^#(length(X)) -> c_23(length^#(proper(X)))
                 , length^#(ok(X)) -> c_29(length^#(X))
                 , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                 , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
                   , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
                   , proper(length(X)) -> length(proper(X))
                   , proper(s(X)) -> s(proper(X))
                   , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
                   , length(mark(X)) -> mark(length(X))
                   , take(mark(X1), X2) -> mark(take(X1, X2))
                   , take(X1, mark(X2)) -> mark(take(X1, X2))
                   , length(ok(X)) -> ok(length(X))
                   , cons(mark(X1), X2) -> mark(cons(X1, X2))
                   , and(mark(X1), X2) -> mark(and(X1, X2))
                   , s(mark(X)) -> mark(s(X))
                   , s(ok(X)) -> ok(s(X))}
                Weak Rules:
                  {  proper(zeros()) -> ok(zeros())
                   , proper(0()) -> ok(0())
                   , proper(tt()) -> ok(tt())
                   , proper(nil()) -> ok(nil())
                   , length^#(mark(X)) -> c_14(length^#(X))
                   , proper^#(length(X)) -> c_23(length^#(proper(X)))
                   , length^#(ok(X)) -> c_29(length^#(X))
                   , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                   , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                   , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  zeros_0() -> 2
                 , mark_0(2) -> 3
                 , mark_0(3) -> 3
                 , mark_0(5) -> 3
                 , mark_0(7) -> 3
                 , mark_0(9) -> 3
                 , mark_0(13) -> 3
                 , 0_0() -> 5
                 , tt_0() -> 7
                 , nil_0() -> 9
                 , ok_0(2) -> 13
                 , ok_0(3) -> 13
                 , ok_0(5) -> 13
                 , ok_0(7) -> 13
                 , ok_0(9) -> 13
                 , ok_0(13) -> 13
                 , length^#_0(2) -> 28
                 , length^#_0(3) -> 28
                 , length^#_0(5) -> 28
                 , length^#_0(7) -> 28
                 , length^#_0(9) -> 28
                 , length^#_0(13) -> 28
                 , c_14_0(28) -> 28
                 , proper^#_0(2) -> 39
                 , proper^#_0(3) -> 39
                 , proper^#_0(5) -> 39
                 , proper^#_0(7) -> 39
                 , proper^#_0(9) -> 39
                 , proper^#_0(13) -> 39
                 , c_29_0(28) -> 28}
      
   16)
      {  proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))
       , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
       , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))
       , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
      
      The usable rules for this path are the following:
      {  proper(zeros()) -> ok(zeros())
       , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
       , proper(0()) -> ok(0())
       , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
       , proper(tt()) -> ok(tt())
       , proper(length(X)) -> length(proper(X))
       , proper(nil()) -> ok(nil())
       , proper(s(X)) -> s(proper(X))
       , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
       , length(mark(X)) -> mark(length(X))
       , take(mark(X1), X2) -> mark(take(X1, X2))
       , take(X1, mark(X2)) -> mark(take(X1, X2))
       , length(ok(X)) -> ok(length(X))
       , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
       , cons(mark(X1), X2) -> mark(cons(X1, X2))
       , and(mark(X1), X2) -> mark(and(X1, X2))
       , s(mark(X)) -> mark(s(X))
       , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
       , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
       , s(ok(X)) -> ok(s(X))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  proper(zeros()) -> ok(zeros())
               , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
               , proper(0()) -> ok(0())
               , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
               , proper(tt()) -> ok(tt())
               , proper(length(X)) -> length(proper(X))
               , proper(nil()) -> ok(nil())
               , proper(s(X)) -> s(proper(X))
               , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
               , length(mark(X)) -> mark(length(X))
               , take(mark(X1), X2) -> mark(take(X1, X2))
               , take(X1, mark(X2)) -> mark(take(X1, X2))
               , length(ok(X)) -> ok(length(X))
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(mark(X1), X2) -> mark(cons(X1, X2))
               , and(mark(X1), X2) -> mark(and(X1, X2))
               , s(mark(X)) -> mark(s(X))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , s(ok(X)) -> ok(s(X))
               , proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))
               , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
               , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))
               , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [1] x1 + [1]
                  c_17(x1) = [1] x1 + [1]
                  proper^#(x1) = [1] x1 + [1]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [1] x1 + [1]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [1] x1 + [1]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))
             , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))
             , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
            and weakly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))
               , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))
               , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [2]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [8]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [2]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [1] x1 + [1]
                  c_17(x1) = [1] x1 + [1]
                  proper^#(x1) = [1] x1 + [1]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [1] x1 + [1]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [1] x1 + [1]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  proper(zeros()) -> ok(zeros())
             , proper(0()) -> ok(0())
             , proper(tt()) -> ok(tt())
             , proper(nil()) -> ok(nil())}
            and weakly orienting the rules
            {  proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))
             , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))
             , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  proper(zeros()) -> ok(zeros())
               , proper(0()) -> ok(0())
               , proper(tt()) -> ok(tt())
               , proper(nil()) -> ok(nil())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [1]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [1] x1 + [0]
                  c_17(x1) = [1] x1 + [0]
                  proper^#(x1) = [1] x1 + [4]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [1] x1 + [1]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [1] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
                 , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
                 , proper(length(X)) -> length(proper(X))
                 , proper(s(X)) -> s(proper(X))
                 , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
                 , length(mark(X)) -> mark(length(X))
                 , take(mark(X1), X2) -> mark(take(X1, X2))
                 , take(X1, mark(X2)) -> mark(take(X1, X2))
                 , length(ok(X)) -> ok(length(X))
                 , cons(mark(X1), X2) -> mark(cons(X1, X2))
                 , and(mark(X1), X2) -> mark(and(X1, X2))
                 , s(mark(X)) -> mark(s(X))
                 , s(ok(X)) -> ok(s(X))}
              Weak Rules:
                {  proper(zeros()) -> ok(zeros())
                 , proper(0()) -> ok(0())
                 , proper(tt()) -> ok(tt())
                 , proper(nil()) -> ok(nil())
                 , proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))
                 , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))
                 , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
                 , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                 , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                 , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
                   , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
                   , proper(length(X)) -> length(proper(X))
                   , proper(s(X)) -> s(proper(X))
                   , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
                   , length(mark(X)) -> mark(length(X))
                   , take(mark(X1), X2) -> mark(take(X1, X2))
                   , take(X1, mark(X2)) -> mark(take(X1, X2))
                   , length(ok(X)) -> ok(length(X))
                   , cons(mark(X1), X2) -> mark(cons(X1, X2))
                   , and(mark(X1), X2) -> mark(and(X1, X2))
                   , s(mark(X)) -> mark(s(X))
                   , s(ok(X)) -> ok(s(X))}
                Weak Rules:
                  {  proper(zeros()) -> ok(zeros())
                   , proper(0()) -> ok(0())
                   , proper(tt()) -> ok(tt())
                   , proper(nil()) -> ok(nil())
                   , proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))
                   , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))
                   , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
                   , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                   , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                   , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                   , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  zeros_0() -> 2
                 , mark_0(2) -> 2
                 , 0_0() -> 2
                 , tt_0() -> 2
                 , nil_0() -> 2
                 , ok_0(2) -> 2
                 , take^#_0(2, 2) -> 1
                 , c_16_0(1) -> 1
                 , c_17_0(1) -> 1
                 , proper^#_0(2) -> 1
                 , c_31_0(1) -> 1}
      
   17)
      {  proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))
       , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
       , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
      
      The usable rules for this path are the following:
      {  proper(zeros()) -> ok(zeros())
       , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
       , proper(0()) -> ok(0())
       , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
       , proper(tt()) -> ok(tt())
       , proper(length(X)) -> length(proper(X))
       , proper(nil()) -> ok(nil())
       , proper(s(X)) -> s(proper(X))
       , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
       , length(mark(X)) -> mark(length(X))
       , take(mark(X1), X2) -> mark(take(X1, X2))
       , take(X1, mark(X2)) -> mark(take(X1, X2))
       , length(ok(X)) -> ok(length(X))
       , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
       , cons(mark(X1), X2) -> mark(cons(X1, X2))
       , and(mark(X1), X2) -> mark(and(X1, X2))
       , s(mark(X)) -> mark(s(X))
       , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
       , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
       , s(ok(X)) -> ok(s(X))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  proper(zeros()) -> ok(zeros())
               , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
               , proper(0()) -> ok(0())
               , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
               , proper(tt()) -> ok(tt())
               , proper(length(X)) -> length(proper(X))
               , proper(nil()) -> ok(nil())
               , proper(s(X)) -> s(proper(X))
               , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
               , length(mark(X)) -> mark(length(X))
               , take(mark(X1), X2) -> mark(take(X1, X2))
               , take(X1, mark(X2)) -> mark(take(X1, X2))
               , length(ok(X)) -> ok(length(X))
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(mark(X1), X2) -> mark(cons(X1, X2))
               , and(mark(X1), X2) -> mark(and(X1, X2))
               , s(mark(X)) -> mark(s(X))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , s(ok(X)) -> ok(s(X))
               , proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))
               , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
               , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [4]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [2]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [1] x1 + [1]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [1]
                  c_18() = [0]
                  c_19(x1) = [1] x1 + [1]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [1] x1 + [1]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))}
            and weakly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [1] x1 + [1]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [9]
                  c_18() = [0]
                  c_19(x1) = [1] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [1] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
            and weakly orienting the rules
            {  proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [4]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [12]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [1] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [15]
                  c_18() = [0]
                  c_19(x1) = [1] x1 + [1]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [1] x1 + [1]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  proper(zeros()) -> ok(zeros())
             , proper(0()) -> ok(0())
             , proper(tt()) -> ok(tt())
             , proper(nil()) -> ok(nil())}
            and weakly orienting the rules
            {  cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))
             , proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  proper(zeros()) -> ok(zeros())
               , proper(0()) -> ok(0())
               , proper(tt()) -> ok(tt())
               , proper(nil()) -> ok(nil())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [4]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [2]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [1] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [1] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [1] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
                 , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
                 , proper(length(X)) -> length(proper(X))
                 , proper(s(X)) -> s(proper(X))
                 , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
                 , length(mark(X)) -> mark(length(X))
                 , take(mark(X1), X2) -> mark(take(X1, X2))
                 , take(X1, mark(X2)) -> mark(take(X1, X2))
                 , length(ok(X)) -> ok(length(X))
                 , cons(mark(X1), X2) -> mark(cons(X1, X2))
                 , and(mark(X1), X2) -> mark(and(X1, X2))
                 , s(mark(X)) -> mark(s(X))
                 , s(ok(X)) -> ok(s(X))}
              Weak Rules:
                {  proper(zeros()) -> ok(zeros())
                 , proper(0()) -> ok(0())
                 , proper(tt()) -> ok(tt())
                 , proper(nil()) -> ok(nil())
                 , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))
                 , proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))
                 , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                 , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                 , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
                   , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
                   , proper(length(X)) -> length(proper(X))
                   , proper(s(X)) -> s(proper(X))
                   , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
                   , length(mark(X)) -> mark(length(X))
                   , take(mark(X1), X2) -> mark(take(X1, X2))
                   , take(X1, mark(X2)) -> mark(take(X1, X2))
                   , length(ok(X)) -> ok(length(X))
                   , cons(mark(X1), X2) -> mark(cons(X1, X2))
                   , and(mark(X1), X2) -> mark(and(X1, X2))
                   , s(mark(X)) -> mark(s(X))
                   , s(ok(X)) -> ok(s(X))}
                Weak Rules:
                  {  proper(zeros()) -> ok(zeros())
                   , proper(0()) -> ok(0())
                   , proper(tt()) -> ok(tt())
                   , proper(nil()) -> ok(nil())
                   , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))
                   , proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))
                   , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                   , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                   , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                   , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  zeros_0() -> 2
                 , mark_0(2) -> 2
                 , 0_0() -> 2
                 , tt_0() -> 2
                 , nil_0() -> 2
                 , ok_0(2) -> 2
                 , cons^#_0(2, 2) -> 1
                 , c_12_0(1) -> 1
                 , proper^#_0(2) -> 1
                 , c_27_0(1) -> 1}
      
   18)
      {  proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))
       , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))
       , and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
      
      The usable rules for this path are the following:
      {  proper(zeros()) -> ok(zeros())
       , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
       , proper(0()) -> ok(0())
       , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
       , proper(tt()) -> ok(tt())
       , proper(length(X)) -> length(proper(X))
       , proper(nil()) -> ok(nil())
       , proper(s(X)) -> s(proper(X))
       , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
       , length(mark(X)) -> mark(length(X))
       , take(mark(X1), X2) -> mark(take(X1, X2))
       , take(X1, mark(X2)) -> mark(take(X1, X2))
       , length(ok(X)) -> ok(length(X))
       , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
       , cons(mark(X1), X2) -> mark(cons(X1, X2))
       , and(mark(X1), X2) -> mark(and(X1, X2))
       , s(mark(X)) -> mark(s(X))
       , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
       , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
       , s(ok(X)) -> ok(s(X))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  proper(zeros()) -> ok(zeros())
               , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
               , proper(0()) -> ok(0())
               , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
               , proper(tt()) -> ok(tt())
               , proper(length(X)) -> length(proper(X))
               , proper(nil()) -> ok(nil())
               , proper(s(X)) -> s(proper(X))
               , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
               , length(mark(X)) -> mark(length(X))
               , take(mark(X1), X2) -> mark(take(X1, X2))
               , take(X1, mark(X2)) -> mark(take(X1, X2))
               , length(ok(X)) -> ok(length(X))
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(mark(X1), X2) -> mark(cons(X1, X2))
               , and(mark(X1), X2) -> mark(and(X1, X2))
               , s(mark(X)) -> mark(s(X))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , s(ok(X)) -> ok(s(X))
               , proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))
               , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))
               , and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [4]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [1] x1 + [1] x2 + [2]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [1] x1 + [1]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [1]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [1] x1 + [1]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [1] x1 + [1]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))}
            and weakly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [1] x1 + [1]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [9]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [1] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [1] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
            and weakly orienting the rules
            {  proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [4]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [1] x1 + [1] x2 + [12]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [1] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [15]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [1] x1 + [1]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [1] x1 + [1]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  proper(zeros()) -> ok(zeros())
             , proper(0()) -> ok(0())
             , proper(tt()) -> ok(tt())
             , proper(nil()) -> ok(nil())}
            and weakly orienting the rules
            {  and^#(mark(X1), X2) -> c_13(and^#(X1, X2))
             , proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
             , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  proper(zeros()) -> ok(zeros())
               , proper(0()) -> ok(0())
               , proper(tt()) -> ok(tt())
               , proper(nil()) -> ok(nil())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [9]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [2]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [1] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [5]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [1] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [1] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
                 , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
                 , proper(length(X)) -> length(proper(X))
                 , proper(s(X)) -> s(proper(X))
                 , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
                 , length(mark(X)) -> mark(length(X))
                 , take(mark(X1), X2) -> mark(take(X1, X2))
                 , take(X1, mark(X2)) -> mark(take(X1, X2))
                 , length(ok(X)) -> ok(length(X))
                 , cons(mark(X1), X2) -> mark(cons(X1, X2))
                 , and(mark(X1), X2) -> mark(and(X1, X2))
                 , s(mark(X)) -> mark(s(X))
                 , s(ok(X)) -> ok(s(X))}
              Weak Rules:
                {  proper(zeros()) -> ok(zeros())
                 , proper(0()) -> ok(0())
                 , proper(tt()) -> ok(tt())
                 , proper(nil()) -> ok(nil())
                 , and^#(mark(X1), X2) -> c_13(and^#(X1, X2))
                 , proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))
                 , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                 , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                 , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
                   , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
                   , proper(length(X)) -> length(proper(X))
                   , proper(s(X)) -> s(proper(X))
                   , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
                   , length(mark(X)) -> mark(length(X))
                   , take(mark(X1), X2) -> mark(take(X1, X2))
                   , take(X1, mark(X2)) -> mark(take(X1, X2))
                   , length(ok(X)) -> ok(length(X))
                   , cons(mark(X1), X2) -> mark(cons(X1, X2))
                   , and(mark(X1), X2) -> mark(and(X1, X2))
                   , s(mark(X)) -> mark(s(X))
                   , s(ok(X)) -> ok(s(X))}
                Weak Rules:
                  {  proper(zeros()) -> ok(zeros())
                   , proper(0()) -> ok(0())
                   , proper(tt()) -> ok(tt())
                   , proper(nil()) -> ok(nil())
                   , and^#(mark(X1), X2) -> c_13(and^#(X1, X2))
                   , proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))
                   , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                   , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                   , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
                   , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  zeros_0() -> 2
                 , mark_0(2) -> 2
                 , 0_0() -> 2
                 , tt_0() -> 2
                 , nil_0() -> 2
                 , ok_0(2) -> 2
                 , and^#_0(2, 2) -> 1
                 , c_13_0(1) -> 1
                 , proper^#_0(2) -> 1
                 , c_28_0(1) -> 1}
      
   19)
      {proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))}
      
      The usable rules for this path are the following:
      {  proper(zeros()) -> ok(zeros())
       , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
       , proper(0()) -> ok(0())
       , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
       , proper(tt()) -> ok(tt())
       , proper(length(X)) -> length(proper(X))
       , proper(nil()) -> ok(nil())
       , proper(s(X)) -> s(proper(X))
       , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
       , length(mark(X)) -> mark(length(X))
       , take(mark(X1), X2) -> mark(take(X1, X2))
       , take(X1, mark(X2)) -> mark(take(X1, X2))
       , length(ok(X)) -> ok(length(X))
       , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
       , cons(mark(X1), X2) -> mark(cons(X1, X2))
       , and(mark(X1), X2) -> mark(and(X1, X2))
       , s(mark(X)) -> mark(s(X))
       , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
       , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
       , s(ok(X)) -> ok(s(X))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  proper(zeros()) -> ok(zeros())
               , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
               , proper(0()) -> ok(0())
               , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
               , proper(tt()) -> ok(tt())
               , proper(length(X)) -> length(proper(X))
               , proper(nil()) -> ok(nil())
               , proper(s(X)) -> s(proper(X))
               , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
               , length(mark(X)) -> mark(length(X))
               , take(mark(X1), X2) -> mark(take(X1, X2))
               , take(X1, mark(X2)) -> mark(take(X1, X2))
               , length(ok(X)) -> ok(length(X))
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(mark(X1), X2) -> mark(cons(X1, X2))
               , and(mark(X1), X2) -> mark(and(X1, X2))
               , s(mark(X)) -> mark(s(X))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , s(ok(X)) -> ok(s(X))
               , proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [8]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [1]
                  c_18() = [0]
                  c_19(x1) = [1] x1 + [1]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))}
            and weakly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [6]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [9]
                  c_18() = [0]
                  c_19(x1) = [1] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  proper(zeros()) -> ok(zeros())
             , proper(0()) -> ok(0())
             , proper(tt()) -> ok(tt())
             , proper(nil()) -> ok(nil())}
            and weakly orienting the rules
            {  proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  proper(zeros()) -> ok(zeros())
               , proper(0()) -> ok(0())
               , proper(tt()) -> ok(tt())
               , proper(nil()) -> ok(nil())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [8]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [2]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [9]
                  c_18() = [0]
                  c_19(x1) = [1] x1 + [1]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
                 , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
                 , proper(length(X)) -> length(proper(X))
                 , proper(s(X)) -> s(proper(X))
                 , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
                 , length(mark(X)) -> mark(length(X))
                 , take(mark(X1), X2) -> mark(take(X1, X2))
                 , take(X1, mark(X2)) -> mark(take(X1, X2))
                 , length(ok(X)) -> ok(length(X))
                 , cons(mark(X1), X2) -> mark(cons(X1, X2))
                 , and(mark(X1), X2) -> mark(and(X1, X2))
                 , s(mark(X)) -> mark(s(X))
                 , s(ok(X)) -> ok(s(X))}
              Weak Rules:
                {  proper(zeros()) -> ok(zeros())
                 , proper(0()) -> ok(0())
                 , proper(tt()) -> ok(tt())
                 , proper(nil()) -> ok(nil())
                 , proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))
                 , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                 , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
                   , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
                   , proper(length(X)) -> length(proper(X))
                   , proper(s(X)) -> s(proper(X))
                   , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
                   , length(mark(X)) -> mark(length(X))
                   , take(mark(X1), X2) -> mark(take(X1, X2))
                   , take(X1, mark(X2)) -> mark(take(X1, X2))
                   , length(ok(X)) -> ok(length(X))
                   , cons(mark(X1), X2) -> mark(cons(X1, X2))
                   , and(mark(X1), X2) -> mark(and(X1, X2))
                   , s(mark(X)) -> mark(s(X))
                   , s(ok(X)) -> ok(s(X))}
                Weak Rules:
                  {  proper(zeros()) -> ok(zeros())
                   , proper(0()) -> ok(0())
                   , proper(tt()) -> ok(tt())
                   , proper(nil()) -> ok(nil())
                   , proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))
                   , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                   , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                   , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  zeros_0() -> 2
                 , mark_0(2) -> 3
                 , mark_0(3) -> 3
                 , mark_0(5) -> 3
                 , mark_0(7) -> 3
                 , mark_0(9) -> 3
                 , mark_0(13) -> 3
                 , 0_0() -> 5
                 , tt_0() -> 7
                 , nil_0() -> 9
                 , ok_0(2) -> 13
                 , ok_0(3) -> 13
                 , ok_0(5) -> 13
                 , ok_0(7) -> 13
                 , ok_0(9) -> 13
                 , ok_0(13) -> 13
                 , cons^#_0(2, 2) -> 17
                 , cons^#_0(2, 3) -> 17
                 , cons^#_0(2, 5) -> 17
                 , cons^#_0(2, 7) -> 17
                 , cons^#_0(2, 9) -> 17
                 , cons^#_0(2, 13) -> 17
                 , cons^#_0(3, 2) -> 17
                 , cons^#_0(3, 3) -> 17
                 , cons^#_0(3, 5) -> 17
                 , cons^#_0(3, 7) -> 17
                 , cons^#_0(3, 9) -> 17
                 , cons^#_0(3, 13) -> 17
                 , cons^#_0(5, 2) -> 17
                 , cons^#_0(5, 3) -> 17
                 , cons^#_0(5, 5) -> 17
                 , cons^#_0(5, 7) -> 17
                 , cons^#_0(5, 9) -> 17
                 , cons^#_0(5, 13) -> 17
                 , cons^#_0(7, 2) -> 17
                 , cons^#_0(7, 3) -> 17
                 , cons^#_0(7, 5) -> 17
                 , cons^#_0(7, 7) -> 17
                 , cons^#_0(7, 9) -> 17
                 , cons^#_0(7, 13) -> 17
                 , cons^#_0(9, 2) -> 17
                 , cons^#_0(9, 3) -> 17
                 , cons^#_0(9, 5) -> 17
                 , cons^#_0(9, 7) -> 17
                 , cons^#_0(9, 9) -> 17
                 , cons^#_0(9, 13) -> 17
                 , cons^#_0(13, 2) -> 17
                 , cons^#_0(13, 3) -> 17
                 , cons^#_0(13, 5) -> 17
                 , cons^#_0(13, 7) -> 17
                 , cons^#_0(13, 9) -> 17
                 , cons^#_0(13, 13) -> 17
                 , proper^#_0(2) -> 39
                 , proper^#_0(3) -> 39
                 , proper^#_0(5) -> 39
                 , proper^#_0(7) -> 39
                 , proper^#_0(9) -> 39
                 , proper^#_0(13) -> 39}
      
   20)
      {proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))}
      
      The usable rules for this path are the following:
      {  proper(zeros()) -> ok(zeros())
       , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
       , proper(0()) -> ok(0())
       , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
       , proper(tt()) -> ok(tt())
       , proper(length(X)) -> length(proper(X))
       , proper(nil()) -> ok(nil())
       , proper(s(X)) -> s(proper(X))
       , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
       , length(mark(X)) -> mark(length(X))
       , take(mark(X1), X2) -> mark(take(X1, X2))
       , take(X1, mark(X2)) -> mark(take(X1, X2))
       , length(ok(X)) -> ok(length(X))
       , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
       , cons(mark(X1), X2) -> mark(cons(X1, X2))
       , and(mark(X1), X2) -> mark(and(X1, X2))
       , s(mark(X)) -> mark(s(X))
       , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
       , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
       , s(ok(X)) -> ok(s(X))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  proper(zeros()) -> ok(zeros())
               , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
               , proper(0()) -> ok(0())
               , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
               , proper(tt()) -> ok(tt())
               , proper(length(X)) -> length(proper(X))
               , proper(nil()) -> ok(nil())
               , proper(s(X)) -> s(proper(X))
               , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
               , length(mark(X)) -> mark(length(X))
               , take(mark(X1), X2) -> mark(take(X1, X2))
               , take(X1, mark(X2)) -> mark(take(X1, X2))
               , length(ok(X)) -> ok(length(X))
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(mark(X1), X2) -> mark(cons(X1, X2))
               , and(mark(X1), X2) -> mark(and(X1, X2))
               , s(mark(X)) -> mark(s(X))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , s(ok(X)) -> ok(s(X))
               , proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [8]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [1]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [1] x1 + [1]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))}
            and weakly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [6]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [9]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [1] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  proper(zeros()) -> ok(zeros())
             , proper(0()) -> ok(0())
             , proper(tt()) -> ok(tt())
             , proper(nil()) -> ok(nil())}
            and weakly orienting the rules
            {  proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  proper(zeros()) -> ok(zeros())
               , proper(0()) -> ok(0())
               , proper(tt()) -> ok(tt())
               , proper(nil()) -> ok(nil())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [7]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [8]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [5]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [1] x1 + [1]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
                 , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
                 , proper(length(X)) -> length(proper(X))
                 , proper(s(X)) -> s(proper(X))
                 , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
                 , length(mark(X)) -> mark(length(X))
                 , take(mark(X1), X2) -> mark(take(X1, X2))
                 , take(X1, mark(X2)) -> mark(take(X1, X2))
                 , length(ok(X)) -> ok(length(X))
                 , cons(mark(X1), X2) -> mark(cons(X1, X2))
                 , and(mark(X1), X2) -> mark(and(X1, X2))
                 , s(mark(X)) -> mark(s(X))
                 , s(ok(X)) -> ok(s(X))}
              Weak Rules:
                {  proper(zeros()) -> ok(zeros())
                 , proper(0()) -> ok(0())
                 , proper(tt()) -> ok(tt())
                 , proper(nil()) -> ok(nil())
                 , proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))
                 , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                 , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
                   , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
                   , proper(length(X)) -> length(proper(X))
                   , proper(s(X)) -> s(proper(X))
                   , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
                   , length(mark(X)) -> mark(length(X))
                   , take(mark(X1), X2) -> mark(take(X1, X2))
                   , take(X1, mark(X2)) -> mark(take(X1, X2))
                   , length(ok(X)) -> ok(length(X))
                   , cons(mark(X1), X2) -> mark(cons(X1, X2))
                   , and(mark(X1), X2) -> mark(and(X1, X2))
                   , s(mark(X)) -> mark(s(X))
                   , s(ok(X)) -> ok(s(X))}
                Weak Rules:
                  {  proper(zeros()) -> ok(zeros())
                   , proper(0()) -> ok(0())
                   , proper(tt()) -> ok(tt())
                   , proper(nil()) -> ok(nil())
                   , proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))
                   , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                   , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                   , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  zeros_0() -> 2
                 , mark_0(2) -> 3
                 , mark_0(3) -> 3
                 , mark_0(5) -> 3
                 , mark_0(7) -> 3
                 , mark_0(9) -> 3
                 , mark_0(13) -> 3
                 , 0_0() -> 5
                 , tt_0() -> 7
                 , nil_0() -> 9
                 , ok_0(2) -> 13
                 , ok_0(3) -> 13
                 , ok_0(5) -> 13
                 , ok_0(7) -> 13
                 , ok_0(9) -> 13
                 , ok_0(13) -> 13
                 , take^#_0(2, 2) -> 31
                 , take^#_0(2, 3) -> 31
                 , take^#_0(2, 5) -> 31
                 , take^#_0(2, 7) -> 31
                 , take^#_0(2, 9) -> 31
                 , take^#_0(2, 13) -> 31
                 , take^#_0(3, 2) -> 31
                 , take^#_0(3, 3) -> 31
                 , take^#_0(3, 5) -> 31
                 , take^#_0(3, 7) -> 31
                 , take^#_0(3, 9) -> 31
                 , take^#_0(3, 13) -> 31
                 , take^#_0(5, 2) -> 31
                 , take^#_0(5, 3) -> 31
                 , take^#_0(5, 5) -> 31
                 , take^#_0(5, 7) -> 31
                 , take^#_0(5, 9) -> 31
                 , take^#_0(5, 13) -> 31
                 , take^#_0(7, 2) -> 31
                 , take^#_0(7, 3) -> 31
                 , take^#_0(7, 5) -> 31
                 , take^#_0(7, 7) -> 31
                 , take^#_0(7, 9) -> 31
                 , take^#_0(7, 13) -> 31
                 , take^#_0(9, 2) -> 31
                 , take^#_0(9, 3) -> 31
                 , take^#_0(9, 5) -> 31
                 , take^#_0(9, 7) -> 31
                 , take^#_0(9, 9) -> 31
                 , take^#_0(9, 13) -> 31
                 , take^#_0(13, 2) -> 31
                 , take^#_0(13, 3) -> 31
                 , take^#_0(13, 5) -> 31
                 , take^#_0(13, 7) -> 31
                 , take^#_0(13, 9) -> 31
                 , take^#_0(13, 13) -> 31
                 , proper^#_0(2) -> 39
                 , proper^#_0(3) -> 39
                 , proper^#_0(5) -> 39
                 , proper^#_0(7) -> 39
                 , proper^#_0(9) -> 39
                 , proper^#_0(13) -> 39}
      
   21)
      {proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))}
      
      The usable rules for this path are the following:
      {  proper(zeros()) -> ok(zeros())
       , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
       , proper(0()) -> ok(0())
       , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
       , proper(tt()) -> ok(tt())
       , proper(length(X)) -> length(proper(X))
       , proper(nil()) -> ok(nil())
       , proper(s(X)) -> s(proper(X))
       , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
       , length(mark(X)) -> mark(length(X))
       , take(mark(X1), X2) -> mark(take(X1, X2))
       , take(X1, mark(X2)) -> mark(take(X1, X2))
       , length(ok(X)) -> ok(length(X))
       , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
       , cons(mark(X1), X2) -> mark(cons(X1, X2))
       , and(mark(X1), X2) -> mark(and(X1, X2))
       , s(mark(X)) -> mark(s(X))
       , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
       , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
       , s(ok(X)) -> ok(s(X))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  proper(zeros()) -> ok(zeros())
               , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
               , proper(0()) -> ok(0())
               , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
               , proper(tt()) -> ok(tt())
               , proper(length(X)) -> length(proper(X))
               , proper(nil()) -> ok(nil())
               , proper(s(X)) -> s(proper(X))
               , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
               , length(mark(X)) -> mark(length(X))
               , take(mark(X1), X2) -> mark(take(X1, X2))
               , take(X1, mark(X2)) -> mark(take(X1, X2))
               , length(ok(X)) -> ok(length(X))
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(mark(X1), X2) -> mark(cons(X1, X2))
               , and(mark(X1), X2) -> mark(and(X1, X2))
               , s(mark(X)) -> mark(s(X))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , s(ok(X)) -> ok(s(X))
               , proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [8]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [1]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [1] x1 + [1]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))}
            and weakly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [1] x1 + [1] x2 + [6]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [9]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [1] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  proper(zeros()) -> ok(zeros())
             , proper(0()) -> ok(0())
             , proper(tt()) -> ok(tt())
             , proper(nil()) -> ok(nil())}
            and weakly orienting the rules
            {  proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  proper(zeros()) -> ok(zeros())
               , proper(0()) -> ok(0())
               , proper(tt()) -> ok(tt())
               , proper(nil()) -> ok(nil())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [3]
                  and(x1, x2) = [1] x1 + [1] x2 + [2]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [8]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [1] x1 + [1] x2 + [3]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [8]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [1] x1 + [3]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
                 , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
                 , proper(length(X)) -> length(proper(X))
                 , proper(s(X)) -> s(proper(X))
                 , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
                 , length(mark(X)) -> mark(length(X))
                 , take(mark(X1), X2) -> mark(take(X1, X2))
                 , take(X1, mark(X2)) -> mark(take(X1, X2))
                 , length(ok(X)) -> ok(length(X))
                 , cons(mark(X1), X2) -> mark(cons(X1, X2))
                 , and(mark(X1), X2) -> mark(and(X1, X2))
                 , s(mark(X)) -> mark(s(X))
                 , s(ok(X)) -> ok(s(X))}
              Weak Rules:
                {  proper(zeros()) -> ok(zeros())
                 , proper(0()) -> ok(0())
                 , proper(tt()) -> ok(tt())
                 , proper(nil()) -> ok(nil())
                 , proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))
                 , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                 , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
                   , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
                   , proper(length(X)) -> length(proper(X))
                   , proper(s(X)) -> s(proper(X))
                   , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
                   , length(mark(X)) -> mark(length(X))
                   , take(mark(X1), X2) -> mark(take(X1, X2))
                   , take(X1, mark(X2)) -> mark(take(X1, X2))
                   , length(ok(X)) -> ok(length(X))
                   , cons(mark(X1), X2) -> mark(cons(X1, X2))
                   , and(mark(X1), X2) -> mark(and(X1, X2))
                   , s(mark(X)) -> mark(s(X))
                   , s(ok(X)) -> ok(s(X))}
                Weak Rules:
                  {  proper(zeros()) -> ok(zeros())
                   , proper(0()) -> ok(0())
                   , proper(tt()) -> ok(tt())
                   , proper(nil()) -> ok(nil())
                   , proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))
                   , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                   , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                   , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  zeros_0() -> 2
                 , mark_0(2) -> 3
                 , mark_0(3) -> 3
                 , mark_0(5) -> 3
                 , mark_0(7) -> 3
                 , mark_0(9) -> 3
                 , mark_0(13) -> 3
                 , 0_0() -> 5
                 , tt_0() -> 7
                 , nil_0() -> 9
                 , ok_0(2) -> 13
                 , ok_0(3) -> 13
                 , ok_0(5) -> 13
                 , ok_0(7) -> 13
                 , ok_0(9) -> 13
                 , ok_0(13) -> 13
                 , and^#_0(2, 2) -> 26
                 , and^#_0(2, 3) -> 26
                 , and^#_0(2, 5) -> 26
                 , and^#_0(2, 7) -> 26
                 , and^#_0(2, 9) -> 26
                 , and^#_0(2, 13) -> 26
                 , and^#_0(3, 2) -> 26
                 , and^#_0(3, 3) -> 26
                 , and^#_0(3, 5) -> 26
                 , and^#_0(3, 7) -> 26
                 , and^#_0(3, 9) -> 26
                 , and^#_0(3, 13) -> 26
                 , and^#_0(5, 2) -> 26
                 , and^#_0(5, 3) -> 26
                 , and^#_0(5, 5) -> 26
                 , and^#_0(5, 7) -> 26
                 , and^#_0(5, 9) -> 26
                 , and^#_0(5, 13) -> 26
                 , and^#_0(7, 2) -> 26
                 , and^#_0(7, 3) -> 26
                 , and^#_0(7, 5) -> 26
                 , and^#_0(7, 7) -> 26
                 , and^#_0(7, 9) -> 26
                 , and^#_0(7, 13) -> 26
                 , and^#_0(9, 2) -> 26
                 , and^#_0(9, 3) -> 26
                 , and^#_0(9, 5) -> 26
                 , and^#_0(9, 7) -> 26
                 , and^#_0(9, 9) -> 26
                 , and^#_0(9, 13) -> 26
                 , and^#_0(13, 2) -> 26
                 , and^#_0(13, 3) -> 26
                 , and^#_0(13, 5) -> 26
                 , and^#_0(13, 7) -> 26
                 , and^#_0(13, 9) -> 26
                 , and^#_0(13, 13) -> 26
                 , proper^#_0(2) -> 39
                 , proper^#_0(3) -> 39
                 , proper^#_0(5) -> 39
                 , proper^#_0(7) -> 39
                 , proper^#_0(9) -> 39
                 , proper^#_0(13) -> 39}
      
   22)
      {proper^#(length(X)) -> c_23(length^#(proper(X)))}
      
      The usable rules for this path are the following:
      {  proper(zeros()) -> ok(zeros())
       , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
       , proper(0()) -> ok(0())
       , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
       , proper(tt()) -> ok(tt())
       , proper(length(X)) -> length(proper(X))
       , proper(nil()) -> ok(nil())
       , proper(s(X)) -> s(proper(X))
       , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
       , length(mark(X)) -> mark(length(X))
       , take(mark(X1), X2) -> mark(take(X1, X2))
       , take(X1, mark(X2)) -> mark(take(X1, X2))
       , length(ok(X)) -> ok(length(X))
       , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
       , cons(mark(X1), X2) -> mark(cons(X1, X2))
       , and(mark(X1), X2) -> mark(and(X1, X2))
       , s(mark(X)) -> mark(s(X))
       , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
       , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
       , s(ok(X)) -> ok(s(X))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  proper(zeros()) -> ok(zeros())
               , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
               , proper(0()) -> ok(0())
               , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
               , proper(tt()) -> ok(tt())
               , proper(length(X)) -> length(proper(X))
               , proper(nil()) -> ok(nil())
               , proper(s(X)) -> s(proper(X))
               , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
               , length(mark(X)) -> mark(length(X))
               , take(mark(X1), X2) -> mark(take(X1, X2))
               , take(X1, mark(X2)) -> mark(take(X1, X2))
               , length(ok(X)) -> ok(length(X))
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(mark(X1), X2) -> mark(cons(X1, X2))
               , and(mark(X1), X2) -> mark(and(X1, X2))
               , s(mark(X)) -> mark(s(X))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , s(ok(X)) -> ok(s(X))
               , proper^#(length(X)) -> c_23(length^#(proper(X)))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [1] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [1]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [1] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {proper^#(length(X)) -> c_23(length^#(proper(X)))}
            and weakly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {proper^#(length(X)) -> c_23(length^#(proper(X)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [4]
                  take(x1, x2) = [1] x1 + [1] x2 + [14]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [1] x1 + [1]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [9]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [1] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  proper(zeros()) -> ok(zeros())
             , proper(0()) -> ok(0())
             , proper(tt()) -> ok(tt())
             , proper(nil()) -> ok(nil())}
            and weakly orienting the rules
            {  proper^#(length(X)) -> c_23(length^#(proper(X)))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  proper(zeros()) -> ok(zeros())
               , proper(0()) -> ok(0())
               , proper(tt()) -> ok(tt())
               , proper(nil()) -> ok(nil())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [4]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [1] x1 + [3]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [4]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [1] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
                 , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
                 , proper(length(X)) -> length(proper(X))
                 , proper(s(X)) -> s(proper(X))
                 , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
                 , length(mark(X)) -> mark(length(X))
                 , take(mark(X1), X2) -> mark(take(X1, X2))
                 , take(X1, mark(X2)) -> mark(take(X1, X2))
                 , length(ok(X)) -> ok(length(X))
                 , cons(mark(X1), X2) -> mark(cons(X1, X2))
                 , and(mark(X1), X2) -> mark(and(X1, X2))
                 , s(mark(X)) -> mark(s(X))
                 , s(ok(X)) -> ok(s(X))}
              Weak Rules:
                {  proper(zeros()) -> ok(zeros())
                 , proper(0()) -> ok(0())
                 , proper(tt()) -> ok(tt())
                 , proper(nil()) -> ok(nil())
                 , proper^#(length(X)) -> c_23(length^#(proper(X)))
                 , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                 , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
                   , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
                   , proper(length(X)) -> length(proper(X))
                   , proper(s(X)) -> s(proper(X))
                   , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
                   , length(mark(X)) -> mark(length(X))
                   , take(mark(X1), X2) -> mark(take(X1, X2))
                   , take(X1, mark(X2)) -> mark(take(X1, X2))
                   , length(ok(X)) -> ok(length(X))
                   , cons(mark(X1), X2) -> mark(cons(X1, X2))
                   , and(mark(X1), X2) -> mark(and(X1, X2))
                   , s(mark(X)) -> mark(s(X))
                   , s(ok(X)) -> ok(s(X))}
                Weak Rules:
                  {  proper(zeros()) -> ok(zeros())
                   , proper(0()) -> ok(0())
                   , proper(tt()) -> ok(tt())
                   , proper(nil()) -> ok(nil())
                   , proper^#(length(X)) -> c_23(length^#(proper(X)))
                   , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                   , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                   , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  zeros_0() -> 2
                 , mark_0(2) -> 3
                 , mark_0(3) -> 3
                 , mark_0(5) -> 3
                 , mark_0(7) -> 3
                 , mark_0(9) -> 3
                 , mark_0(13) -> 3
                 , 0_0() -> 5
                 , tt_0() -> 7
                 , nil_0() -> 9
                 , ok_0(2) -> 13
                 , ok_0(3) -> 13
                 , ok_0(5) -> 13
                 , ok_0(7) -> 13
                 , ok_0(9) -> 13
                 , ok_0(13) -> 13
                 , length^#_0(2) -> 28
                 , length^#_0(3) -> 28
                 , length^#_0(5) -> 28
                 , length^#_0(7) -> 28
                 , length^#_0(9) -> 28
                 , length^#_0(13) -> 28
                 , proper^#_0(2) -> 39
                 , proper^#_0(3) -> 39
                 , proper^#_0(5) -> 39
                 , proper^#_0(7) -> 39
                 , proper^#_0(9) -> 39
                 , proper^#_0(13) -> 39}
      
   23)
      {proper^#(s(X)) -> c_25(s^#(proper(X)))}
      
      The usable rules for this path are the following:
      {  proper(zeros()) -> ok(zeros())
       , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
       , proper(0()) -> ok(0())
       , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
       , proper(tt()) -> ok(tt())
       , proper(length(X)) -> length(proper(X))
       , proper(nil()) -> ok(nil())
       , proper(s(X)) -> s(proper(X))
       , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
       , length(mark(X)) -> mark(length(X))
       , take(mark(X1), X2) -> mark(take(X1, X2))
       , take(X1, mark(X2)) -> mark(take(X1, X2))
       , length(ok(X)) -> ok(length(X))
       , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
       , cons(mark(X1), X2) -> mark(cons(X1, X2))
       , and(mark(X1), X2) -> mark(and(X1, X2))
       , s(mark(X)) -> mark(s(X))
       , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
       , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
       , s(ok(X)) -> ok(s(X))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  proper(zeros()) -> ok(zeros())
               , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
               , proper(0()) -> ok(0())
               , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
               , proper(tt()) -> ok(tt())
               , proper(length(X)) -> length(proper(X))
               , proper(nil()) -> ok(nil())
               , proper(s(X)) -> s(proper(X))
               , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
               , length(mark(X)) -> mark(length(X))
               , take(mark(X1), X2) -> mark(take(X1, X2))
               , take(X1, mark(X2)) -> mark(take(X1, X2))
               , length(ok(X)) -> ok(length(X))
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(mark(X1), X2) -> mark(cons(X1, X2))
               , and(mark(X1), X2) -> mark(and(X1, X2))
               , s(mark(X)) -> mark(s(X))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))
               , s(ok(X)) -> ok(s(X))
               , proper^#(s(X)) -> c_25(s^#(proper(X)))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
               , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [1] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [1]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [1] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {proper^#(s(X)) -> c_25(s^#(proper(X)))}
            and weakly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {proper^#(s(X)) -> c_25(s^#(proper(X)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [1]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [2]
                  nil() = [0]
                  s(x1) = [1] x1 + [8]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [1]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [1] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [1]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [1] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  proper(zeros()) -> ok(zeros())
             , proper(0()) -> ok(0())
             , proper(tt()) -> ok(tt())
             , proper(nil()) -> ok(nil())}
            and weakly orienting the rules
            {  proper^#(s(X)) -> c_25(s^#(proper(X)))
             , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
             , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  proper(zeros()) -> ok(zeros())
               , proper(0()) -> ok(0())
               , proper(tt()) -> ok(tt())
               , proper(nil()) -> ok(nil())}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [2]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [8]
                  proper(x1) = [1] x1 + [1]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [1] x1 + [4]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [9]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [1] x1 + [4]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
                 , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
                 , proper(length(X)) -> length(proper(X))
                 , proper(s(X)) -> s(proper(X))
                 , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
                 , length(mark(X)) -> mark(length(X))
                 , take(mark(X1), X2) -> mark(take(X1, X2))
                 , take(X1, mark(X2)) -> mark(take(X1, X2))
                 , length(ok(X)) -> ok(length(X))
                 , cons(mark(X1), X2) -> mark(cons(X1, X2))
                 , and(mark(X1), X2) -> mark(and(X1, X2))
                 , s(mark(X)) -> mark(s(X))
                 , s(ok(X)) -> ok(s(X))}
              Weak Rules:
                {  proper(zeros()) -> ok(zeros())
                 , proper(0()) -> ok(0())
                 , proper(tt()) -> ok(tt())
                 , proper(nil()) -> ok(nil())
                 , proper^#(s(X)) -> c_25(s^#(proper(X)))
                 , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                 , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
                   , proper(and(X1, X2)) -> and(proper(X1), proper(X2))
                   , proper(length(X)) -> length(proper(X))
                   , proper(s(X)) -> s(proper(X))
                   , proper(take(X1, X2)) -> take(proper(X1), proper(X2))
                   , length(mark(X)) -> mark(length(X))
                   , take(mark(X1), X2) -> mark(take(X1, X2))
                   , take(X1, mark(X2)) -> mark(take(X1, X2))
                   , length(ok(X)) -> ok(length(X))
                   , cons(mark(X1), X2) -> mark(cons(X1, X2))
                   , and(mark(X1), X2) -> mark(and(X1, X2))
                   , s(mark(X)) -> mark(s(X))
                   , s(ok(X)) -> ok(s(X))}
                Weak Rules:
                  {  proper(zeros()) -> ok(zeros())
                   , proper(0()) -> ok(0())
                   , proper(tt()) -> ok(tt())
                   , proper(nil()) -> ok(nil())
                   , proper^#(s(X)) -> c_25(s^#(proper(X)))
                   , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                   , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
                   , and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  zeros_0() -> 2
                 , mark_0(2) -> 2
                 , 0_0() -> 2
                 , tt_0() -> 2
                 , nil_0() -> 2
                 , ok_0(2) -> 2
                 , s^#_0(2) -> 1
                 , proper^#_0(2) -> 1}
      
   24)
      {  active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))
       , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
       , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
      
      The usable rules for this path are the following:
      {  take(mark(X1), X2) -> mark(take(X1, X2))
       , take(X1, mark(X2)) -> mark(take(X1, X2))
       , take(ok(X1), ok(X2)) -> ok(take(X1, X2))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  take(mark(X1), X2) -> mark(take(X1, X2))
               , take(X1, mark(X2)) -> mark(take(X1, X2))
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))
               , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
               , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [0] x1 + [0] x2 + [0]
                  tt() = [0]
                  length(x1) = [0] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [8]
                  take(x1, x2) = [1] x1 + [1] x2 + [1]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [1] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [1] x1 + [1]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [1] x1 + [1]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
            and weakly orienting the rules
            {active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [0] x1 + [0] x2 + [0]
                  tt() = [0]
                  length(x1) = [0] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [12]
                  take(x1, x2) = [1] x1 + [1] x2 + [1]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [8]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [1] x1 + [3]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [1] x1 + [2]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [1] x1 + [1]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
            and weakly orienting the rules
            {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
             , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
             , active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [8]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [0] x1 + [0] x2 + [0]
                  tt() = [0]
                  length(x1) = [0] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [1]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [12]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [10]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [1] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [1] x1 + [1]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [1] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  take(mark(X1), X2) -> mark(take(X1, X2))
                 , take(X1, mark(X2)) -> mark(take(X1, X2))}
              Weak Rules:
                {  cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))
                 , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                 , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
                 , active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  take(mark(X1), X2) -> mark(take(X1, X2))
                   , take(X1, mark(X2)) -> mark(take(X1, X2))}
                Weak Rules:
                  {  cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))
                   , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                   , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
                   , active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  mark_0(3) -> 3
                 , mark_0(13) -> 3
                 , ok_0(3) -> 13
                 , ok_0(13) -> 13
                 , active^#_0(3) -> 15
                 , active^#_0(13) -> 15
                 , cons^#_0(3, 3) -> 17
                 , cons^#_0(3, 13) -> 17
                 , cons^#_0(13, 3) -> 17
                 , cons^#_0(13, 13) -> 17
                 , c_12_0(17) -> 17
                 , c_27_0(17) -> 17}
      
   25)
      {  active^#(length(cons(N, L))) -> c_3(s^#(length(L)))
       , s^#(ok(X)) -> c_30(s^#(X))
       , s^#(mark(X)) -> c_15(s^#(X))}
      
      The usable rules for this path are the following:
      {  length(mark(X)) -> mark(length(X))
       , length(ok(X)) -> ok(length(X))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  length(mark(X)) -> mark(length(X))
               , length(ok(X)) -> ok(length(X))
               , active^#(length(cons(N, L))) -> c_3(s^#(length(L)))
               , s^#(ok(X)) -> c_30(s^#(X))
               , s^#(mark(X)) -> c_15(s^#(X))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [0] x1 + [0] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [1]
                  nil() = [0]
                  s(x1) = [0] x1 + [0]
                  take(x1, x2) = [0] x1 + [0] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [8]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [1] x1 + [0]
                  s^#(x1) = [1] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [1] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [1] x1 + [2]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {s^#(ok(X)) -> c_30(s^#(X))}
            and weakly orienting the rules
            {active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {s^#(ok(X)) -> c_30(s^#(X))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [5]
                  0() = [0]
                  and(x1, x2) = [0] x1 + [0] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [1]
                  nil() = [0]
                  s(x1) = [0] x1 + [0]
                  take(x1, x2) = [0] x1 + [0] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [8]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [12]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [1] x1 + [0]
                  s^#(x1) = [1] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [1] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [1] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {s^#(mark(X)) -> c_15(s^#(X))}
            and weakly orienting the rules
            {  s^#(ok(X)) -> c_30(s^#(X))
             , active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {s^#(mark(X)) -> c_15(s^#(X))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [8]
                  cons(x1, x2) = [1] x1 + [1] x2 + [15]
                  0() = [0]
                  and(x1, x2) = [0] x1 + [0] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [1]
                  nil() = [0]
                  s(x1) = [0] x1 + [0]
                  take(x1, x2) = [0] x1 + [0] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [1] x1 + [0]
                  s^#(x1) = [1] x1 + [4]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [1] x1 + [4]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [1] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  length(mark(X)) -> mark(length(X))
                 , length(ok(X)) -> ok(length(X))}
              Weak Rules:
                {  s^#(mark(X)) -> c_15(s^#(X))
                 , s^#(ok(X)) -> c_30(s^#(X))
                 , active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  length(mark(X)) -> mark(length(X))
                   , length(ok(X)) -> ok(length(X))}
                Weak Rules:
                  {  s^#(mark(X)) -> c_15(s^#(X))
                   , s^#(ok(X)) -> c_30(s^#(X))
                   , active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  mark_0(3) -> 3
                 , mark_0(13) -> 3
                 , ok_0(3) -> 13
                 , ok_0(13) -> 13
                 , active^#_0(3) -> 15
                 , active^#_0(13) -> 15
                 , s^#_0(3) -> 21
                 , s^#_0(13) -> 21
                 , c_15_0(21) -> 21
                 , c_30_0(21) -> 21}
      
   26)
      {active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
      
      The usable rules for this path are the following:
      {  take(mark(X1), X2) -> mark(take(X1, X2))
       , take(X1, mark(X2)) -> mark(take(X1, X2))
       , take(ok(X1), ok(X2)) -> ok(take(X1, X2))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  take(mark(X1), X2) -> mark(take(X1, X2))
               , take(X1, mark(X2)) -> mark(take(X1, X2))
               , take(ok(X1), ok(X2)) -> ok(take(X1, X2))
               , active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [0] x1 + [0] x2 + [0]
                  tt() = [0]
                  length(x1) = [0] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [8]
                  take(x1, x2) = [1] x1 + [1] x2 + [1]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [7]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [1] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {take(ok(X1), ok(X2)) -> ok(take(X1, X2))}
            and weakly orienting the rules
            {active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {take(ok(X1), ok(X2)) -> ok(take(X1, X2))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [8]
                  0() = [0]
                  and(x1, x2) = [0] x1 + [0] x2 + [0]
                  tt() = [0]
                  length(x1) = [0] x1 + [0]
                  nil() = [0]
                  s(x1) = [1] x1 + [9]
                  take(x1, x2) = [1] x1 + [1] x2 + [1]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [4]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [3]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [1] x1 + [7]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  take(mark(X1), X2) -> mark(take(X1, X2))
                 , take(X1, mark(X2)) -> mark(take(X1, X2))}
              Weak Rules:
                {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                 , active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  take(mark(X1), X2) -> mark(take(X1, X2))
                   , take(X1, mark(X2)) -> mark(take(X1, X2))}
                Weak Rules:
                  {  take(ok(X1), ok(X2)) -> ok(take(X1, X2))
                   , active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  mark_0(3) -> 3
                 , mark_0(13) -> 3
                 , ok_0(3) -> 13
                 , ok_0(13) -> 13
                 , active^#_0(3) -> 15
                 , active^#_0(13) -> 15
                 , cons^#_0(3, 3) -> 17
                 , cons^#_0(3, 13) -> 17
                 , cons^#_0(13, 3) -> 17
                 , cons^#_0(13, 13) -> 17}
      
   27)
      {active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
      
      The usable rules for this path are the following:
      {  length(mark(X)) -> mark(length(X))
       , length(ok(X)) -> ok(length(X))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  length(mark(X)) -> mark(length(X))
               , length(ok(X)) -> ok(length(X))
               , active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [1] x1 + [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [0] x1 + [0] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [1]
                  nil() = [0]
                  s(x1) = [0] x1 + [0]
                  take(x1, x2) = [0] x1 + [0] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [1] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [8]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [1] x1 + [1]
                  s^#(x1) = [1] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  length(mark(X)) -> mark(length(X))
                 , length(ok(X)) -> ok(length(X))}
              Weak Rules: {active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  length(mark(X)) -> mark(length(X))
                   , length(ok(X)) -> ok(length(X))}
                Weak Rules: {active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  mark_0(3) -> 3
                 , mark_0(13) -> 3
                 , ok_0(3) -> 13
                 , ok_0(13) -> 13
                 , active^#_0(3) -> 15
                 , active^#_0(13) -> 15
                 , s^#_0(3) -> 21
                 , s^#_0(13) -> 21}
      
   28)
      {active^#(zeros()) -> c_0(cons^#(0(), zeros()))}
      
      The usable rules for this path are empty.
      
        We have oriented the usable rules with the following strongly linear interpretation:
          Interpretation Functions:
           active(x1) = [0] x1 + [0]
           zeros() = [0]
           mark(x1) = [0] x1 + [0]
           cons(x1, x2) = [0] x1 + [0] x2 + [0]
           0() = [0]
           and(x1, x2) = [0] x1 + [0] x2 + [0]
           tt() = [0]
           length(x1) = [0] x1 + [0]
           nil() = [0]
           s(x1) = [0] x1 + [0]
           take(x1, x2) = [0] x1 + [0] x2 + [0]
           proper(x1) = [0] x1 + [0]
           ok(x1) = [0] x1 + [0]
           top(x1) = [0] x1 + [0]
           active^#(x1) = [0] x1 + [0]
           c_0(x1) = [0] x1 + [0]
           cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_1() = [0]
           c_2() = [0]
           c_3(x1) = [0] x1 + [0]
           s^#(x1) = [0] x1 + [0]
           c_4() = [0]
           c_5(x1) = [0] x1 + [0]
           c_6(x1) = [0] x1 + [0]
           c_7(x1) = [0] x1 + [0]
           and^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_8(x1) = [0] x1 + [0]
           length^#(x1) = [0] x1 + [0]
           c_9(x1) = [0] x1 + [0]
           c_10(x1) = [0] x1 + [0]
           take^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_11(x1) = [0] x1 + [0]
           c_12(x1) = [0] x1 + [0]
           c_13(x1) = [0] x1 + [0]
           c_14(x1) = [0] x1 + [0]
           c_15(x1) = [0] x1 + [0]
           c_16(x1) = [0] x1 + [0]
           c_17(x1) = [0] x1 + [0]
           proper^#(x1) = [0] x1 + [0]
           c_18() = [0]
           c_19(x1) = [0] x1 + [0]
           c_20() = [0]
           c_21(x1) = [0] x1 + [0]
           c_22() = [0]
           c_23(x1) = [0] x1 + [0]
           c_24() = [0]
           c_25(x1) = [0] x1 + [0]
           c_26(x1) = [0] x1 + [0]
           c_27(x1) = [0] x1 + [0]
           c_28(x1) = [0] x1 + [0]
           c_29(x1) = [0] x1 + [0]
           c_30(x1) = [0] x1 + [0]
           c_31(x1) = [0] x1 + [0]
           top^#(x1) = [0] x1 + [0]
           c_32(x1) = [0] x1 + [0]
           c_33(x1) = [0] x1 + [0]
        
        We have applied the subprocessor on the resulting DP-problem:
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost DP runtime-complexity with respect to
            Strict Rules: {active^#(zeros()) -> c_0(cons^#(0(), zeros()))}
            Weak Rules: {}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {active^#(zeros()) -> c_0(cons^#(0(), zeros()))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active^#(zeros()) -> c_0(cons^#(0(), zeros()))}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [0] x1 + [0]
                  cons(x1, x2) = [0] x1 + [0] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [0] x1 + [0] x2 + [0]
                  tt() = [0]
                  length(x1) = [0] x1 + [0]
                  nil() = [0]
                  s(x1) = [0] x1 + [0]
                  take(x1, x2) = [0] x1 + [0] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [0] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [1] x1 + [0]
                  cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'Empty TRS'
            -----------
            Answer:           YES(?,O(1))
            Input Problem:    innermost DP runtime-complexity with respect to
              Strict Rules: {}
              Weak Rules: {active^#(zeros()) -> c_0(cons^#(0(), zeros()))}
            
            Details:         
              The given problem does not contain any strict rules
      
   29)
      {active^#(length(nil())) -> c_2()}
      
      The usable rules for this path are empty.
      
        We have oriented the usable rules with the following strongly linear interpretation:
          Interpretation Functions:
           active(x1) = [0] x1 + [0]
           zeros() = [0]
           mark(x1) = [0] x1 + [0]
           cons(x1, x2) = [0] x1 + [0] x2 + [0]
           0() = [0]
           and(x1, x2) = [0] x1 + [0] x2 + [0]
           tt() = [0]
           length(x1) = [0] x1 + [0]
           nil() = [0]
           s(x1) = [0] x1 + [0]
           take(x1, x2) = [0] x1 + [0] x2 + [0]
           proper(x1) = [0] x1 + [0]
           ok(x1) = [0] x1 + [0]
           top(x1) = [0] x1 + [0]
           active^#(x1) = [0] x1 + [0]
           c_0(x1) = [0] x1 + [0]
           cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_1() = [0]
           c_2() = [0]
           c_3(x1) = [0] x1 + [0]
           s^#(x1) = [0] x1 + [0]
           c_4() = [0]
           c_5(x1) = [0] x1 + [0]
           c_6(x1) = [0] x1 + [0]
           c_7(x1) = [0] x1 + [0]
           and^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_8(x1) = [0] x1 + [0]
           length^#(x1) = [0] x1 + [0]
           c_9(x1) = [0] x1 + [0]
           c_10(x1) = [0] x1 + [0]
           take^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_11(x1) = [0] x1 + [0]
           c_12(x1) = [0] x1 + [0]
           c_13(x1) = [0] x1 + [0]
           c_14(x1) = [0] x1 + [0]
           c_15(x1) = [0] x1 + [0]
           c_16(x1) = [0] x1 + [0]
           c_17(x1) = [0] x1 + [0]
           proper^#(x1) = [0] x1 + [0]
           c_18() = [0]
           c_19(x1) = [0] x1 + [0]
           c_20() = [0]
           c_21(x1) = [0] x1 + [0]
           c_22() = [0]
           c_23(x1) = [0] x1 + [0]
           c_24() = [0]
           c_25(x1) = [0] x1 + [0]
           c_26(x1) = [0] x1 + [0]
           c_27(x1) = [0] x1 + [0]
           c_28(x1) = [0] x1 + [0]
           c_29(x1) = [0] x1 + [0]
           c_30(x1) = [0] x1 + [0]
           c_31(x1) = [0] x1 + [0]
           top^#(x1) = [0] x1 + [0]
           c_32(x1) = [0] x1 + [0]
           c_33(x1) = [0] x1 + [0]
        
        We have applied the subprocessor on the resulting DP-problem:
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost DP runtime-complexity with respect to
            Strict Rules: {active^#(length(nil())) -> c_2()}
            Weak Rules: {}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {active^#(length(nil())) -> c_2()}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active^#(length(nil())) -> c_2()}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [0] x1 + [0]
                  cons(x1, x2) = [0] x1 + [0] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [0] x1 + [0] x2 + [0]
                  tt() = [0]
                  length(x1) = [1] x1 + [0]
                  nil() = [0]
                  s(x1) = [0] x1 + [0]
                  take(x1, x2) = [0] x1 + [0] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [0] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'Empty TRS'
            -----------
            Answer:           YES(?,O(1))
            Input Problem:    innermost DP runtime-complexity with respect to
              Strict Rules: {}
              Weak Rules: {active^#(length(nil())) -> c_2()}
            
            Details:         
              The given problem does not contain any strict rules
      
   30)
      {active^#(and(tt(), X)) -> c_1()}
      
      The usable rules for this path are empty.
      
        We have oriented the usable rules with the following strongly linear interpretation:
          Interpretation Functions:
           active(x1) = [0] x1 + [0]
           zeros() = [0]
           mark(x1) = [0] x1 + [0]
           cons(x1, x2) = [0] x1 + [0] x2 + [0]
           0() = [0]
           and(x1, x2) = [0] x1 + [0] x2 + [0]
           tt() = [0]
           length(x1) = [0] x1 + [0]
           nil() = [0]
           s(x1) = [0] x1 + [0]
           take(x1, x2) = [0] x1 + [0] x2 + [0]
           proper(x1) = [0] x1 + [0]
           ok(x1) = [0] x1 + [0]
           top(x1) = [0] x1 + [0]
           active^#(x1) = [0] x1 + [0]
           c_0(x1) = [0] x1 + [0]
           cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_1() = [0]
           c_2() = [0]
           c_3(x1) = [0] x1 + [0]
           s^#(x1) = [0] x1 + [0]
           c_4() = [0]
           c_5(x1) = [0] x1 + [0]
           c_6(x1) = [0] x1 + [0]
           c_7(x1) = [0] x1 + [0]
           and^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_8(x1) = [0] x1 + [0]
           length^#(x1) = [0] x1 + [0]
           c_9(x1) = [0] x1 + [0]
           c_10(x1) = [0] x1 + [0]
           take^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_11(x1) = [0] x1 + [0]
           c_12(x1) = [0] x1 + [0]
           c_13(x1) = [0] x1 + [0]
           c_14(x1) = [0] x1 + [0]
           c_15(x1) = [0] x1 + [0]
           c_16(x1) = [0] x1 + [0]
           c_17(x1) = [0] x1 + [0]
           proper^#(x1) = [0] x1 + [0]
           c_18() = [0]
           c_19(x1) = [0] x1 + [0]
           c_20() = [0]
           c_21(x1) = [0] x1 + [0]
           c_22() = [0]
           c_23(x1) = [0] x1 + [0]
           c_24() = [0]
           c_25(x1) = [0] x1 + [0]
           c_26(x1) = [0] x1 + [0]
           c_27(x1) = [0] x1 + [0]
           c_28(x1) = [0] x1 + [0]
           c_29(x1) = [0] x1 + [0]
           c_30(x1) = [0] x1 + [0]
           c_31(x1) = [0] x1 + [0]
           top^#(x1) = [0] x1 + [0]
           c_32(x1) = [0] x1 + [0]
           c_33(x1) = [0] x1 + [0]
        
        We have applied the subprocessor on the resulting DP-problem:
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost DP runtime-complexity with respect to
            Strict Rules: {active^#(and(tt(), X)) -> c_1()}
            Weak Rules: {}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {active^#(and(tt(), X)) -> c_1()}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active^#(and(tt(), X)) -> c_1()}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [0] x1 + [0]
                  cons(x1, x2) = [0] x1 + [0] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [1] x1 + [1] x2 + [0]
                  tt() = [0]
                  length(x1) = [0] x1 + [0]
                  nil() = [0]
                  s(x1) = [0] x1 + [0]
                  take(x1, x2) = [0] x1 + [0] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [0] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'Empty TRS'
            -----------
            Answer:           YES(?,O(1))
            Input Problem:    innermost DP runtime-complexity with respect to
              Strict Rules: {}
              Weak Rules: {active^#(and(tt(), X)) -> c_1()}
            
            Details:         
              The given problem does not contain any strict rules
      
   31)
      {active^#(take(0(), IL)) -> c_4()}
      
      The usable rules for this path are empty.
      
        We have oriented the usable rules with the following strongly linear interpretation:
          Interpretation Functions:
           active(x1) = [0] x1 + [0]
           zeros() = [0]
           mark(x1) = [0] x1 + [0]
           cons(x1, x2) = [0] x1 + [0] x2 + [0]
           0() = [0]
           and(x1, x2) = [0] x1 + [0] x2 + [0]
           tt() = [0]
           length(x1) = [0] x1 + [0]
           nil() = [0]
           s(x1) = [0] x1 + [0]
           take(x1, x2) = [0] x1 + [0] x2 + [0]
           proper(x1) = [0] x1 + [0]
           ok(x1) = [0] x1 + [0]
           top(x1) = [0] x1 + [0]
           active^#(x1) = [0] x1 + [0]
           c_0(x1) = [0] x1 + [0]
           cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_1() = [0]
           c_2() = [0]
           c_3(x1) = [0] x1 + [0]
           s^#(x1) = [0] x1 + [0]
           c_4() = [0]
           c_5(x1) = [0] x1 + [0]
           c_6(x1) = [0] x1 + [0]
           c_7(x1) = [0] x1 + [0]
           and^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_8(x1) = [0] x1 + [0]
           length^#(x1) = [0] x1 + [0]
           c_9(x1) = [0] x1 + [0]
           c_10(x1) = [0] x1 + [0]
           take^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_11(x1) = [0] x1 + [0]
           c_12(x1) = [0] x1 + [0]
           c_13(x1) = [0] x1 + [0]
           c_14(x1) = [0] x1 + [0]
           c_15(x1) = [0] x1 + [0]
           c_16(x1) = [0] x1 + [0]
           c_17(x1) = [0] x1 + [0]
           proper^#(x1) = [0] x1 + [0]
           c_18() = [0]
           c_19(x1) = [0] x1 + [0]
           c_20() = [0]
           c_21(x1) = [0] x1 + [0]
           c_22() = [0]
           c_23(x1) = [0] x1 + [0]
           c_24() = [0]
           c_25(x1) = [0] x1 + [0]
           c_26(x1) = [0] x1 + [0]
           c_27(x1) = [0] x1 + [0]
           c_28(x1) = [0] x1 + [0]
           c_29(x1) = [0] x1 + [0]
           c_30(x1) = [0] x1 + [0]
           c_31(x1) = [0] x1 + [0]
           top^#(x1) = [0] x1 + [0]
           c_32(x1) = [0] x1 + [0]
           c_33(x1) = [0] x1 + [0]
        
        We have applied the subprocessor on the resulting DP-problem:
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost DP runtime-complexity with respect to
            Strict Rules: {active^#(take(0(), IL)) -> c_4()}
            Weak Rules: {}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {active^#(take(0(), IL)) -> c_4()}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {active^#(take(0(), IL)) -> c_4()}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [0] x1 + [0]
                  cons(x1, x2) = [0] x1 + [0] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [0] x1 + [0] x2 + [0]
                  tt() = [0]
                  length(x1) = [0] x1 + [0]
                  nil() = [0]
                  s(x1) = [0] x1 + [0]
                  take(x1, x2) = [1] x1 + [1] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [0] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [1] x1 + [1]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [0] x1 + [0]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'Empty TRS'
            -----------
            Answer:           YES(?,O(1))
            Input Problem:    innermost DP runtime-complexity with respect to
              Strict Rules: {}
              Weak Rules: {active^#(take(0(), IL)) -> c_4()}
            
            Details:         
              The given problem does not contain any strict rules
      
   32)
      {proper^#(zeros()) -> c_18()}
      
      The usable rules for this path are empty.
      
        We have oriented the usable rules with the following strongly linear interpretation:
          Interpretation Functions:
           active(x1) = [0] x1 + [0]
           zeros() = [0]
           mark(x1) = [0] x1 + [0]
           cons(x1, x2) = [0] x1 + [0] x2 + [0]
           0() = [0]
           and(x1, x2) = [0] x1 + [0] x2 + [0]
           tt() = [0]
           length(x1) = [0] x1 + [0]
           nil() = [0]
           s(x1) = [0] x1 + [0]
           take(x1, x2) = [0] x1 + [0] x2 + [0]
           proper(x1) = [0] x1 + [0]
           ok(x1) = [0] x1 + [0]
           top(x1) = [0] x1 + [0]
           active^#(x1) = [0] x1 + [0]
           c_0(x1) = [0] x1 + [0]
           cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_1() = [0]
           c_2() = [0]
           c_3(x1) = [0] x1 + [0]
           s^#(x1) = [0] x1 + [0]
           c_4() = [0]
           c_5(x1) = [0] x1 + [0]
           c_6(x1) = [0] x1 + [0]
           c_7(x1) = [0] x1 + [0]
           and^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_8(x1) = [0] x1 + [0]
           length^#(x1) = [0] x1 + [0]
           c_9(x1) = [0] x1 + [0]
           c_10(x1) = [0] x1 + [0]
           take^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_11(x1) = [0] x1 + [0]
           c_12(x1) = [0] x1 + [0]
           c_13(x1) = [0] x1 + [0]
           c_14(x1) = [0] x1 + [0]
           c_15(x1) = [0] x1 + [0]
           c_16(x1) = [0] x1 + [0]
           c_17(x1) = [0] x1 + [0]
           proper^#(x1) = [0] x1 + [0]
           c_18() = [0]
           c_19(x1) = [0] x1 + [0]
           c_20() = [0]
           c_21(x1) = [0] x1 + [0]
           c_22() = [0]
           c_23(x1) = [0] x1 + [0]
           c_24() = [0]
           c_25(x1) = [0] x1 + [0]
           c_26(x1) = [0] x1 + [0]
           c_27(x1) = [0] x1 + [0]
           c_28(x1) = [0] x1 + [0]
           c_29(x1) = [0] x1 + [0]
           c_30(x1) = [0] x1 + [0]
           c_31(x1) = [0] x1 + [0]
           top^#(x1) = [0] x1 + [0]
           c_32(x1) = [0] x1 + [0]
           c_33(x1) = [0] x1 + [0]
        
        We have applied the subprocessor on the resulting DP-problem:
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost DP runtime-complexity with respect to
            Strict Rules: {proper^#(zeros()) -> c_18()}
            Weak Rules: {}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {proper^#(zeros()) -> c_18()}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {proper^#(zeros()) -> c_18()}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [0] x1 + [0]
                  cons(x1, x2) = [0] x1 + [0] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [0] x1 + [0] x2 + [0]
                  tt() = [0]
                  length(x1) = [0] x1 + [0]
                  nil() = [0]
                  s(x1) = [0] x1 + [0]
                  take(x1, x2) = [0] x1 + [0] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [0] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [1]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'Empty TRS'
            -----------
            Answer:           YES(?,O(1))
            Input Problem:    innermost DP runtime-complexity with respect to
              Strict Rules: {}
              Weak Rules: {proper^#(zeros()) -> c_18()}
            
            Details:         
              The given problem does not contain any strict rules
      
   33)
      {proper^#(0()) -> c_20()}
      
      The usable rules for this path are empty.
      
        We have oriented the usable rules with the following strongly linear interpretation:
          Interpretation Functions:
           active(x1) = [0] x1 + [0]
           zeros() = [0]
           mark(x1) = [0] x1 + [0]
           cons(x1, x2) = [0] x1 + [0] x2 + [0]
           0() = [0]
           and(x1, x2) = [0] x1 + [0] x2 + [0]
           tt() = [0]
           length(x1) = [0] x1 + [0]
           nil() = [0]
           s(x1) = [0] x1 + [0]
           take(x1, x2) = [0] x1 + [0] x2 + [0]
           proper(x1) = [0] x1 + [0]
           ok(x1) = [0] x1 + [0]
           top(x1) = [0] x1 + [0]
           active^#(x1) = [0] x1 + [0]
           c_0(x1) = [0] x1 + [0]
           cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_1() = [0]
           c_2() = [0]
           c_3(x1) = [0] x1 + [0]
           s^#(x1) = [0] x1 + [0]
           c_4() = [0]
           c_5(x1) = [0] x1 + [0]
           c_6(x1) = [0] x1 + [0]
           c_7(x1) = [0] x1 + [0]
           and^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_8(x1) = [0] x1 + [0]
           length^#(x1) = [0] x1 + [0]
           c_9(x1) = [0] x1 + [0]
           c_10(x1) = [0] x1 + [0]
           take^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_11(x1) = [0] x1 + [0]
           c_12(x1) = [0] x1 + [0]
           c_13(x1) = [0] x1 + [0]
           c_14(x1) = [0] x1 + [0]
           c_15(x1) = [0] x1 + [0]
           c_16(x1) = [0] x1 + [0]
           c_17(x1) = [0] x1 + [0]
           proper^#(x1) = [0] x1 + [0]
           c_18() = [0]
           c_19(x1) = [0] x1 + [0]
           c_20() = [0]
           c_21(x1) = [0] x1 + [0]
           c_22() = [0]
           c_23(x1) = [0] x1 + [0]
           c_24() = [0]
           c_25(x1) = [0] x1 + [0]
           c_26(x1) = [0] x1 + [0]
           c_27(x1) = [0] x1 + [0]
           c_28(x1) = [0] x1 + [0]
           c_29(x1) = [0] x1 + [0]
           c_30(x1) = [0] x1 + [0]
           c_31(x1) = [0] x1 + [0]
           top^#(x1) = [0] x1 + [0]
           c_32(x1) = [0] x1 + [0]
           c_33(x1) = [0] x1 + [0]
        
        We have applied the subprocessor on the resulting DP-problem:
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost DP runtime-complexity with respect to
            Strict Rules: {proper^#(0()) -> c_20()}
            Weak Rules: {}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {proper^#(0()) -> c_20()}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {proper^#(0()) -> c_20()}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [0] x1 + [0]
                  cons(x1, x2) = [0] x1 + [0] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [0] x1 + [0] x2 + [0]
                  tt() = [0]
                  length(x1) = [0] x1 + [0]
                  nil() = [0]
                  s(x1) = [0] x1 + [0]
                  take(x1, x2) = [0] x1 + [0] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [0] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [1]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'Empty TRS'
            -----------
            Answer:           YES(?,O(1))
            Input Problem:    innermost DP runtime-complexity with respect to
              Strict Rules: {}
              Weak Rules: {proper^#(0()) -> c_20()}
            
            Details:         
              The given problem does not contain any strict rules
      
   34)
      {proper^#(tt()) -> c_22()}
      
      The usable rules for this path are empty.
      
        We have oriented the usable rules with the following strongly linear interpretation:
          Interpretation Functions:
           active(x1) = [0] x1 + [0]
           zeros() = [0]
           mark(x1) = [0] x1 + [0]
           cons(x1, x2) = [0] x1 + [0] x2 + [0]
           0() = [0]
           and(x1, x2) = [0] x1 + [0] x2 + [0]
           tt() = [0]
           length(x1) = [0] x1 + [0]
           nil() = [0]
           s(x1) = [0] x1 + [0]
           take(x1, x2) = [0] x1 + [0] x2 + [0]
           proper(x1) = [0] x1 + [0]
           ok(x1) = [0] x1 + [0]
           top(x1) = [0] x1 + [0]
           active^#(x1) = [0] x1 + [0]
           c_0(x1) = [0] x1 + [0]
           cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_1() = [0]
           c_2() = [0]
           c_3(x1) = [0] x1 + [0]
           s^#(x1) = [0] x1 + [0]
           c_4() = [0]
           c_5(x1) = [0] x1 + [0]
           c_6(x1) = [0] x1 + [0]
           c_7(x1) = [0] x1 + [0]
           and^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_8(x1) = [0] x1 + [0]
           length^#(x1) = [0] x1 + [0]
           c_9(x1) = [0] x1 + [0]
           c_10(x1) = [0] x1 + [0]
           take^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_11(x1) = [0] x1 + [0]
           c_12(x1) = [0] x1 + [0]
           c_13(x1) = [0] x1 + [0]
           c_14(x1) = [0] x1 + [0]
           c_15(x1) = [0] x1 + [0]
           c_16(x1) = [0] x1 + [0]
           c_17(x1) = [0] x1 + [0]
           proper^#(x1) = [0] x1 + [0]
           c_18() = [0]
           c_19(x1) = [0] x1 + [0]
           c_20() = [0]
           c_21(x1) = [0] x1 + [0]
           c_22() = [0]
           c_23(x1) = [0] x1 + [0]
           c_24() = [0]
           c_25(x1) = [0] x1 + [0]
           c_26(x1) = [0] x1 + [0]
           c_27(x1) = [0] x1 + [0]
           c_28(x1) = [0] x1 + [0]
           c_29(x1) = [0] x1 + [0]
           c_30(x1) = [0] x1 + [0]
           c_31(x1) = [0] x1 + [0]
           top^#(x1) = [0] x1 + [0]
           c_32(x1) = [0] x1 + [0]
           c_33(x1) = [0] x1 + [0]
        
        We have applied the subprocessor on the resulting DP-problem:
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost DP runtime-complexity with respect to
            Strict Rules: {proper^#(tt()) -> c_22()}
            Weak Rules: {}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {proper^#(tt()) -> c_22()}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {proper^#(tt()) -> c_22()}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [0] x1 + [0]
                  cons(x1, x2) = [0] x1 + [0] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [0] x1 + [0] x2 + [0]
                  tt() = [0]
                  length(x1) = [0] x1 + [0]
                  nil() = [0]
                  s(x1) = [0] x1 + [0]
                  take(x1, x2) = [0] x1 + [0] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [0] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [1]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'Empty TRS'
            -----------
            Answer:           YES(?,O(1))
            Input Problem:    innermost DP runtime-complexity with respect to
              Strict Rules: {}
              Weak Rules: {proper^#(tt()) -> c_22()}
            
            Details:         
              The given problem does not contain any strict rules
      
   35)
      {proper^#(nil()) -> c_24()}
      
      The usable rules for this path are empty.
      
        We have oriented the usable rules with the following strongly linear interpretation:
          Interpretation Functions:
           active(x1) = [0] x1 + [0]
           zeros() = [0]
           mark(x1) = [0] x1 + [0]
           cons(x1, x2) = [0] x1 + [0] x2 + [0]
           0() = [0]
           and(x1, x2) = [0] x1 + [0] x2 + [0]
           tt() = [0]
           length(x1) = [0] x1 + [0]
           nil() = [0]
           s(x1) = [0] x1 + [0]
           take(x1, x2) = [0] x1 + [0] x2 + [0]
           proper(x1) = [0] x1 + [0]
           ok(x1) = [0] x1 + [0]
           top(x1) = [0] x1 + [0]
           active^#(x1) = [0] x1 + [0]
           c_0(x1) = [0] x1 + [0]
           cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_1() = [0]
           c_2() = [0]
           c_3(x1) = [0] x1 + [0]
           s^#(x1) = [0] x1 + [0]
           c_4() = [0]
           c_5(x1) = [0] x1 + [0]
           c_6(x1) = [0] x1 + [0]
           c_7(x1) = [0] x1 + [0]
           and^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_8(x1) = [0] x1 + [0]
           length^#(x1) = [0] x1 + [0]
           c_9(x1) = [0] x1 + [0]
           c_10(x1) = [0] x1 + [0]
           take^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_11(x1) = [0] x1 + [0]
           c_12(x1) = [0] x1 + [0]
           c_13(x1) = [0] x1 + [0]
           c_14(x1) = [0] x1 + [0]
           c_15(x1) = [0] x1 + [0]
           c_16(x1) = [0] x1 + [0]
           c_17(x1) = [0] x1 + [0]
           proper^#(x1) = [0] x1 + [0]
           c_18() = [0]
           c_19(x1) = [0] x1 + [0]
           c_20() = [0]
           c_21(x1) = [0] x1 + [0]
           c_22() = [0]
           c_23(x1) = [0] x1 + [0]
           c_24() = [0]
           c_25(x1) = [0] x1 + [0]
           c_26(x1) = [0] x1 + [0]
           c_27(x1) = [0] x1 + [0]
           c_28(x1) = [0] x1 + [0]
           c_29(x1) = [0] x1 + [0]
           c_30(x1) = [0] x1 + [0]
           c_31(x1) = [0] x1 + [0]
           top^#(x1) = [0] x1 + [0]
           c_32(x1) = [0] x1 + [0]
           c_33(x1) = [0] x1 + [0]
        
        We have applied the subprocessor on the resulting DP-problem:
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost DP runtime-complexity with respect to
            Strict Rules: {proper^#(nil()) -> c_24()}
            Weak Rules: {}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {proper^#(nil()) -> c_24()}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {proper^#(nil()) -> c_24()}
              
              Details:
                 Interpretation Functions:
                  active(x1) = [0] x1 + [0]
                  zeros() = [0]
                  mark(x1) = [0] x1 + [0]
                  cons(x1, x2) = [0] x1 + [0] x2 + [0]
                  0() = [0]
                  and(x1, x2) = [0] x1 + [0] x2 + [0]
                  tt() = [0]
                  length(x1) = [0] x1 + [0]
                  nil() = [0]
                  s(x1) = [0] x1 + [0]
                  take(x1, x2) = [0] x1 + [0] x2 + [0]
                  proper(x1) = [0] x1 + [0]
                  ok(x1) = [0] x1 + [0]
                  top(x1) = [0] x1 + [0]
                  active^#(x1) = [0] x1 + [0]
                  c_0(x1) = [0] x1 + [0]
                  cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_1() = [0]
                  c_2() = [0]
                  c_3(x1) = [0] x1 + [0]
                  s^#(x1) = [0] x1 + [0]
                  c_4() = [0]
                  c_5(x1) = [0] x1 + [0]
                  c_6(x1) = [0] x1 + [0]
                  c_7(x1) = [0] x1 + [0]
                  and^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_8(x1) = [0] x1 + [0]
                  length^#(x1) = [0] x1 + [0]
                  c_9(x1) = [0] x1 + [0]
                  c_10(x1) = [0] x1 + [0]
                  take^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_11(x1) = [0] x1 + [0]
                  c_12(x1) = [0] x1 + [0]
                  c_13(x1) = [0] x1 + [0]
                  c_14(x1) = [0] x1 + [0]
                  c_15(x1) = [0] x1 + [0]
                  c_16(x1) = [0] x1 + [0]
                  c_17(x1) = [0] x1 + [0]
                  proper^#(x1) = [1] x1 + [1]
                  c_18() = [0]
                  c_19(x1) = [0] x1 + [0]
                  c_20() = [0]
                  c_21(x1) = [0] x1 + [0]
                  c_22() = [0]
                  c_23(x1) = [0] x1 + [0]
                  c_24() = [0]
                  c_25(x1) = [0] x1 + [0]
                  c_26(x1) = [0] x1 + [0]
                  c_27(x1) = [0] x1 + [0]
                  c_28(x1) = [0] x1 + [0]
                  c_29(x1) = [0] x1 + [0]
                  c_30(x1) = [0] x1 + [0]
                  c_31(x1) = [0] x1 + [0]
                  top^#(x1) = [0] x1 + [0]
                  c_32(x1) = [0] x1 + [0]
                  c_33(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'Empty TRS'
            -----------
            Answer:           YES(?,O(1))
            Input Problem:    innermost DP runtime-complexity with respect to
              Strict Rules: {}
              Weak Rules: {proper^#(nil()) -> c_24()}
            
            Details:         
              The given problem does not contain any strict rules